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.
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:
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.
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.
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.
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).
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 | |
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:
Veld | Waarde |
---|---|
veld Label | Telefoonnummer |
Veld soort | Aantal |
Verplicht? | Ja |
Veld | Waarde |
---|---|
veld Label | Foto |
Veld soort | Beeld |
Verplicht? | Nee |
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:
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:
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:
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.
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:
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.
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.