Maak een eenvoudige CRM in WordPress geavanceerde aangepaste velden

We hebben gekeken hoe een eenvoudig CRM-systeem kan worden gemaakt in WordPress. In het laatste deel van deze serie hebben we een aangepast e-mailadresveld toegevoegd aan ons aangepast aangepast berichttype. We hebben geleerd hoe we deze aangepaste veldgegevens kunnen schrijven en lezen en een nonce kunnen implementeren om ervoor te zorgen dat onze formulierinzendingen veilig zijn.

Vandaag bespreken we hoe u geavanceerde aangepaste velden, een populaire WordPress-plug-in, kunt gebruiken om snel aangepaste velden te genereren.

Geavanceerde aangepaste velden

Het maken van aangepaste velden voor een berichttype is tijdrovend en we hebben tijdens het proces belangrijke beveiligingsoverwegingen geïdentificeerd. Voor een CRM, waar we verschillende, verschillende veldtypen hebben, zoals een vervolgkeuzelijst of selectievakjes, zou het handmatig nemen van velden in een plug-in veel tijd in beslag nemen.

Geavanceerde aangepaste velden is een WordPress-plug-in die zowel een gebruikersinterface als programmatische methoden biedt voor het maken van aangepaste metaboxen en aangepaste velden voor elk berichttype. 

 Het biedt ook een groter bereik van formulierveldtypen, zoals:

  • visuele bewerkers
  • nummer / bereik
  • wachtwoord
  • e-mail
  • beeld
  • kiezen
  • checkbox
  • objecten posten
  • Google Maps

Aangepaste metaboxen en hun velden kunnen voorwaarden daaraan verbonden hebben, dus ze worden alleen weergegeven op basis van het berichttype of de waarde van een ander veld. Dit is echt handig als we bijvoorbeeld alleen een veld willen weergeven wanneer een selectievakje is aangevinkt.

Geavanceerde aangepaste velden installeren

Ga naar de Plug-ins> Voeg nieuw toe in je WordPress-dashboard. Voer in het zoekvak in Geavanceerde aangepaste velden, en klik Zoek plug-ins:

Zoek in het scherm met zoekresultaten Geavanceerde aangepaste velden, en klik Installeer nu.

Na de installatie activeert u de plug-in.

Ons aangepast veld verwijderen

Omdat we geavanceerde aangepaste velden gebruiken om onze aangepaste metabakken en -velden te genereren, is de snelste manier om ons aangepaste veld dat in het tweede deel van deze serie is gegenereerd, te verwijderen: download de code uit deel 1 van deze tutorialserie.

Wacht, wat was deel 2 Alles over?

In plaats van direct naar het gebruik van geavanceerde aangepaste velden te gaan, hebben we in detail uitgelegd hoe het proces werkt voor het registreren van aangepaste metaboxen, aangepaste velden, het opslaan van gegevens en het ophalen van gegevens. 

 Door dit te doen, hebben we een duidelijker idee over hoe Advanced Custom Fields werkt, en zien we ook hoe veel sneller het is (om nog maar te zwijgen van een betere gebruikersinterface).

Een veldgroep maken

Klik op Aangepaste velden in het WordPress Administration-menu:

Je zult het zien Veldgroepen scherm. Denk aan een veldgroep als een aangepaste metabox die we hebben beschreven in Deel 2. Laten we onze eerste veldgroep maken door te klikken op Voeg nieuw toe naast de veldgroeptitel:

Roep de veldgroep op Contact details, en klik vervolgens op de Voeg veld toe knop om ons eerste veld toe te voegen:

Vul de volgende gegevens in:

Veld Waarde
veld Label E-mailadres
Veld soort E-mail
Verplicht? Ja

Blader omlaag naar de Plaats doos. We willen dat deze veldgroep alleen wordt weergegeven op onze Contact aangepast berichttype, dus laten we een voorwaarde toevoegen door te kiezen Toon deze veldgroep als Berichttype gelijk is aan contact:

Blader omlaag naar het optievak. Stel de Bestelnr. naar 1, Stijl naar Standaard en vink alle vakjes aan voor Verberg op het scherm, behalve de Inhoud editor keuze:

Klik Publiceren, en de Field Group wordt opgeslagen.

Laten we controleren of ons veld beschikbaar is op ons contactposttype, door naar Contactpersonen> Nieuw toevoegen in het WordPress-dashboard:

Ga je gang en voer een naam en e-mailadres in voor je contact en klik op Publiceren. U ziet hoe geavanceerde aangepaste velden alle veldvalidatie, opslag en het lezen van aangepaste veldgegevens afhandelen.

Laten we wat meer velden toevoegen aan ons bestaande Veldgroep. Bewerk de Contact details veldgroep die u hierboven hebt gecreëerd en voeg de volgende velden toe:

Telefoonnummer
Veld Waarde
veld Label Telefoonnummer
Veld soort Aantal
Verplicht? Ja
Foto
Veld Waarde
veld Label Foto
Veld soort Beeld
Verplicht? Nee
Type
Veld Waarde
veld Label Type
Veld soort kiezen
Verplicht? Ja
keuzes Prospect: Prospect
Klant: klant

Voel je vrij om andere velden of informatie toe te voegen die je normaal zou opslaan voor je klanten en prospects.

Als u klaar bent, klikt u op Bijwerken, en begin met het toevoegen, bewerken en beheren van uw contactpersonen:

Voorkomen van aangepaste veldveranderingen

We willen niet dat andere WordPress-beheerders deze velden veranderen (of erger nog, ze verwijderen), omdat dit betekent dat we de contactgegevens van een contactpersoon niet kunnen bekijken of bewerken.

Open het plugin-bestand dat we eerder hebben gemaakt en voeg het volgende eerder toe class WPTutsCRM :

/ ** * Geavanceerde aangepaste velden instellen op eenvoudige modus, zodat deze niet * verschijnen in het WordPress-beheermenu * / define ('ACF_LITE', true);

Sla het plugin-bestand op en laad de WordPress Administration-interface opnieuw. Je zult zien dat het Aangepaste velden menu-item is verdwenen:

Programmeer automatisch aangepaste velden

We kunnen nog een stap verder gaan en onze aangepaste velden programmatisch definiëren, in plaats van te vertrouwen op de gebruikersinterface van de plug-in Advanced Custom Fields om ze te definiëren. 

 Dit zou handig zijn als we onze CRM-plug-in bijvoorbeeld zouden distribueren naar meerdere WordPress-installaties. Het zou tijdrovend zijn om:

  • installeer de CRM-plug-in,
  • installeer geavanceerde aangepaste velden
  • definieer onze veldgroepen en aangepaste velden

Verwijder de volgende code uit onze plug-in, zodat we hem weer kunnen openen via de WordPress-administratie:

/ ** * Geavanceerde aangepaste velden instellen op eenvoudige modus, zodat deze niet * verschijnen in het WordPress-beheermenu * / define ('ACF_LITE', true);

Klik in het WordPress-beheer op Aangepaste velden, en klik vervolgens op de Exporteren keuze.

Van hieruit selecteren we de Contact details groep en klik op de Exporteren naar PHP keuze:

Klik één keer op de code die op het scherm verschijnt, die alles zal markeren. Kopieer dit naar je klembord en plak het in een nieuwe functie in je plug-in:

/ ** * ACF-veldgroepen en velden registreren * / function acf_fields () if (function_exists ("register_field_group")) register_field_group (array) ('id' => 'acf_contact-details', 'title' => 'Contactgegevens ',' velden '=> array (array (' key '=>' field_5323276db7e18 ',' label '=>' Email Address ',' name '=>' email_address ',' type '=>' email ',' verplicht '=> 1,' default_value '=> ",' placeholder '=>",' prepend '=> ",' append '=>",), array (' key '=>' field_53232a6cf3800 ',' label '= > 'Telefoonnummer', 'naam' => 'telefoonnummer', 'type' => 'nummer', 'default_value' => ", 'placeholder' =>", 'prepend' => ", 'toevoegen' => ", 'min' =>", 'max' => ", 'stap' =>",), array ('key' => 'field_53232aa9f3801', 'label' => 'Foto', 'naam' => 'foto', 'type' => 'afbeelding', 'save_format' => 'object', 'preview_size' => 'thumbnail', 'library' => 'all',), array ('key' => ' field_53232c2ff3802 ',' label '=>' Type ',' naam '=>' type ',' type '=>' selecteer ',' vereist '=> 1,' keuzes '=> array (' Prospect '=>' Prospect ',' Custome r '=>' Klant ',),' default_value '=> ",' allow_null '=> 0,' multiple '=> 0,),),' location '=> array (array (array) (' param '= > 'post_type', 'operator' => '==', 'value' => 'contact', 'order_no' => 0, 'group_no' => 0,),),), 'options' => array ('position' => 'normal', 'layout' => 'default', 'hide_on_screen' => array (0 => 'permalink', 1 => 'excerpt', 2 => 'custom_fields', 3 => 'discussie', 4 => 'reacties', 5 => 'revisies', 6 => 'slug', 7 => 'auteur', 8 => 'formaat', 9 => 'featured_image', 10 => ' categories ', 11 =>' tags ', 12 =>' send-trackbacks ',),),' menu_order '=> 1,));  

Schakel vervolgens de plug-in Geavanceerde aangepaste velden uit en verplaats de geavanceerde custom-fields plug-in map in onze tuts-crm map:

Door geavanceerde aangepaste velden buiten de Plugins-directory te verplaatsen, moeten we deze handmatig activeren vanuit onze plug-in. Laten we dat doen door de volgende code eerder toe te voegen class WPTutsCRM :

include_once ('advanced-custom-fields / acf.php'); define ('ACF_LITE', true);

Ten slotte moeten we geavanceerde aangepaste velden melden dat we programmadisch gedefinieerde veldgroepen en aangepaste velden hebben. Wijzig het construct van onze plug-in in het onderstaande:

/ ** * Constructor. Wordt aangeroepen wanneer de plugin wordt geïnitialiseerd * / function __construct () add_action ('init', array ($ this, 'register_custom_post_type')); add_action ('plugins_loaded', array ($ this, 'acf_fields')); 

Laad het WordPress-dashboard opnieuw en maak en / of bewerk een contactpersoon. U ziet dat onze veldgroepen en aangepaste velden op hun plaats blijven.

nadelen

Het bundelen van een plug-in in een plug-in is niet altijd de beste aanpak. Hoewel we hiermee onze plug-in snel in meerdere WordPress-installaties in één stap kunnen distribueren, moeten we elke keer een update uitvoeren voor onze plug-in:

  • velden worden gemaakt, bewerkt of vernietigd
  • Voor geavanceerde aangepaste velden is een update beschikbaar

Afhankelijk van uw gebruik, kunt u deze gebundelde aanpak verkiezen. Als u dit op één enkele site uitvoert, kunt u de gebruikersinterface gebruiken om uw veldgroepen te definiëren en aangepaste velden kunnen een snellere, eenvoudigere aanpak zijn.

Volgende…

In het volgende artikel gaan we de WordPress Administration-tabel bewerken (ook wel bekend als WP_List_Table) om onze geavanceerde aangepaste velden weer te geven.