Ne-am uitat la modul de a crea un simplu sistem CRM în WordPress. În ultima parte a acestei serii, am adăugat un câmp de adresă de e-mail personalizat în tipul de postare particularizat pentru persoanele de contact. Am învățat cum să scriem și să citim aceste date de câmp personalizat și să punem în aplicare un nonce pentru a ne asigura că trimiterile de formular sunt sigure.
Astăzi, vom aborda modul de utilizare a câmpurilor personalizate avansate, un popular plugin WordPress, pentru a genera rapid câmpuri personalizate.
Crearea câmpurilor personalizate pentru un tip de post este consumatoare de timp și am identificat aspectele esențiale de securitate în acest proces. Pentru un CRM, în cazul în care este posibil să avem mai multe tipuri de câmpuri diferite, cum ar fi o rubrică selectată sau casete de selectare, crearea manuală a câmpurilor într-un plugin ar lua o perioadă semnificativă de timp.
Câmpurile personalizate avansate este un plugin WordPress care oferă atât o interfață de utilizator cât și metode programatice pentru crearea de casete meta personalizate și câmpuri personalizate pentru orice tip de postare.
De asemenea, oferă o gamă mai largă de tipuri de câmpuri, cum ar fi:
Meniurile personalizate și câmpurile lor pot avea condiții atașate acestora, astfel încât acestea sunt afișate numai pe baza tipului postului sau a valorii unui alt câmp. Acest lucru este cu adevărat util dacă dorim să afișăm doar un câmp când este bifată o casetă de bifare, de exemplu.
Mergeți la Plugin-uri> Adăugați noi în tabloul de bord WordPress. În caseta de căutare, introduceți Câmpuri personalizate avansate, și faceți clic pe Căutați pluginuri:
În ecranul cu rezultatele căutării, găsiți Câmpuri personalizate avansate, și faceți clic pe Instaleaza acum.
Odată instalat, activați pluginul.
Pe măsură ce vom folosi câmpurile personalizate avansate pentru a genera casetele și câmpurile meta personalizate, cea mai rapidă modalitate de a elimina câmpul personalizat generat în a doua parte a acestei serii este descărcați codul din partea 1 a acestei serii tutorial.
Mai degrabă decât să sarăm direct în utilizarea câmpurilor personalizate avansate, am explicat în detaliu modul în care procesul funcționează pentru înregistrarea câmpurilor meta personalizate, câmpurile personalizate, salvarea datelor și recuperarea datelor.
Procedând astfel, avem o idee mai clară despre modul în care funcționează câmpurile personalizate avansate, precum și despre cât de mult este mai rapid (nu mai vorbim de o interfață de utilizator mai bună).
Click pe câmpuri customizate în meniul de administrare WordPress:
Veți vedea Grupuri de câmp ecran. Gândiți-vă la un grup de câmp ca meta-casetă personalizată pe care am descris-o în Partea 2. Să creați primul nostru grup de câmp, făcând clic pe Adăuga nou lângă titlul grupului de câmp:
Apelați grupul de câmpuri Detalii de contact, apoi faceți clic pe Adăugați câmpul pentru a adăuga primul câmp:
Introduceți următoarele detalii:
Camp | Valoare |
---|---|
Etichetă de câmp | Adresa de email |
Tip de câmp | |
Necesar? | da |
Derulați în jos până la Locație cutie. Vrem ca acest grup de câmp să fie afișat numai pe site-ul nostru a lua legatura post tip personalizat, deci să adăugăm o condiție prin alegerea Afișează acest grup de câmp dacă tipul de post este egal cu contactul:
Derulați în jos până la caseta cu opțiuni. Seteaza Comandă nu. la 1, Stil la Standard și bifați toate casetele pentru Ascundeți pe ecran, cu excepția Editor de conținut opțiune:
Clic Publica, iar grupul de câmp va fi salvat.
Să verificăm dacă câmpul nostru este disponibil în Tipul de postare de contact, accesând Contacte> Adăugați o adresă nouă în tabloul de bord WordPress:
Mergeți mai departe și introduceți un nume și o adresă de e-mail pentru contactul dvs. și dați clic pe Publica. Veți vedea modul în care câmpurile personalizate avansate gestionează toate validările câmpurilor, salvarea și citirea datelor din câmpurile personalizate.
Să adăugăm câmpuri suplimentare existente Grup de câmp. Editați Detalii de contact câmpul pe care l-ați creat mai sus și adăugați următoarele câmpuri:
Camp | Valoare |
---|---|
Etichetă de câmp | Numar de telefon |
Tip de câmp | Număr |
Necesar? | da |
Camp | Valoare |
---|---|
Etichetă de câmp | Fotografie |
Tip de câmp | Imagine |
Necesar? | Nu |
Camp | Valoare |
---|---|
Etichetă de câmp | Tip |
Tip de câmp | Selectați |
Necesar? | da |
alegeri | Prospect: Prospect Client client |
Simțiți-vă liber să adăugați orice alte câmpuri sau informații pe care le-ați păstra în mod normal pentru clienții și perspectivele dvs..
Când ați terminat, faceți clic pe Actualizați, și începeți să adăugați, să editați și să gestionați persoanele de contact:
Nu vrem ca administratorii WordPress să schimbe aceste câmpuri (sau, mai rău, să le șterge), deoarece ar însemna că nu putem vizualiza sau edita informațiile despre o persoană de contact.
Deschideți fișierul plugin pe care l-am creat mai devreme și adăugați înainte înainte clasa WPTutsCRM
:
/ ** * Setarea câmpurilor personalizate avansate în modul Lite, astfel încât să nu apară * în meniul de administrare WordPress * / define ('ACF_LITE', true);
Salvați fișierul plugin și reîncărcați interfața de administrare WordPress. Veți vedea că câmpuri customizate intrarea în meniu a dispărut:
Am putea merge mai departe și definim programatic domeniile noastre personalizate, în loc să ne bazăm pe interfața de utilizator a pluginului Advanced Custom Fields pentru a le defini.
Acest lucru ar fi util dacă, de exemplu, vom distribui pluginul nostru CRM la mai multe instalații WordPress. Va fi nevoie de timp:
Eliminați următorul cod din pluginul nostru, pentru a putea accesa din nou prin intermediul administrării WordPress:
/ ** * Setarea câmpurilor personalizate avansate în modul Lite, astfel încât să nu apară * în meniul de administrare WordPress * / define ('ACF_LITE', true);
În Administrația WordPress, faceți clic pe câmpuri customizate, apoi faceți clic pe Export opțiune.
De aici, să selectăm Detalii de contact grup și faceți clic pe Exportați în PHP opțiune:
Faceți un singur clic pe codul care apare pe ecran, ceea ce va evidenția totul. Copiați-l în clipboard și lipiți-l într-o nouă funcție din Plugin-ul dvs.:
/ ** * Înregistrați grupurile și câmpurile ACF * / funcția acf_fields () if (function_exists ("register_field_group")) register_field_group (array ('id' => 'acf_contact-details' ',' field '=> array (array (' key '=>' field_5323276db7e18 ',' label '=>' Email address ',' name '=>' email_address ',' type '=> '=> 1,' default_value '=>', 'placeholder' => > "Numar de telefon", "nume" => "numar de telefon", "tip" => 'numar', 'default_value' => "," min "=>", "max" => "," pas "=> 'photo', 'type' => 'imagine', 'save_format' => 'obiect', 'preview_size' => 'thumbnail', 'library' field_53232c2ff3802 ',' label '=>' Tip ',' name '=>' tip ',' type '=>' select ' Prospect "," Custome " r '=>' Client '),' default_value '=>', 'permit_null' => 0, 'multiple' => 0,), 'location' => > 'post_type', 'operator' => '==', 'value' => 'contact', 'order_no' => 0, 'group_no' => 0,),) ('=' ',' = '', '=' ',' = ' '=' ',' = '', '=' ',' = '', categorii ', 11 =>' taguri ', 12 =>' trimite-trackbacks ',),),' menu_order '=> 1,));
Apoi, dezactivați Pluginul avansat de câmpuri personalizate și apoi mutați avansat-personalizate-domenii
dosar plugin în nostru Tuts-crm
pliant:
Prin deplasarea câmpurilor personalizate avansate în afara directorului Pluginuri, va trebui să o activați manual din Pluginul nostru. Să facem asta prin adăugarea următorului cod înainte clasa WPTutsCRM
:
include_once ('advanced-custom-fields / acf.php'); define ('ACF_LITE', true);
În cele din urmă, trebuie să specificăm câmpurilor personalizate avansate că am definit programatic grupuri de câmp și câmpuri personalizate. Modificați constructul plugin-ului nostru de mai jos:
/ ** * Constructor. Chemată când pluginul este inițializat * / funcția __construct () add_action ('init', array ($ this, 'register_custom_post_type')); add_action ('plugins_loaded', array ($ this, 'acf_fields'));
Reîncărcați tabloul de bord WordPress și creați și / sau editați un contact. Veți vedea că grupurile noastre de câmp și câmpurile personalizate rămân în vigoare.
Legarea unui plugin într-un plugin nu este întotdeauna cea mai bună abordare. În timp ce ne permite să distribuim plugin-ul rapid în mai multe instalații WordPress într-un singur pas, ar trebui să emităm o actualizare a plugin-ului nostru de fiecare dată:
În funcție de cazul dvs. de utilizare, puteți prefera această abordare grupată. Dacă rulați acest lucru pe un singur site, folosirea interfeței de utilizator pentru a defini grupurile de câmp și câmpurile personalizate poate fi o abordare mai rapidă și mai ușoară.
În următorul articol, vom edita tabelul de administrare WordPress (cunoscut și ca WP_List_Table
) pentru a afișa câmpurile personalizate avansate.