În acest tutorial, vă voi arăta principiile de utilizare a pluginului Advanced Custom Fields (ACF). ACF este un plugin destul de mare, astfel încât acest articol nu va explica absolut tot ceea ce oferă, dar ar trebui să fie suficient pentru a începe să vă adăugați propriile meta date și să le afișați în tema dvs..
La momentul scrisului, există două versiuni ale ACF: 4 și 5. Acest articol se bazează pe versiunea 4, dar ar trebui să se aplice și în cazul în care utilizați versiunea 5.
Câmpurile personalizate avansate este o interfață de utilizator pentru adăugarea de câmpuri personalizate sau meta date în WordPress. Câmpurile personalizate vă permit să vă extindeți postările sau paginile cu mai multe date. Să analizăm un scenariu comun:
Aveți un tip de postare numit film
și doriți să atașați un punctaj din zece la partea de jos a fiecărei recenzii, împreună cu alte date. Acum, puteți pune aceste date în postarea dvs., dar dacă mai târziu doriți să utilizați aceste date într-un alt mod? Poate doriți să mutați scorul deasupra recenziei; în acest caz, va trebui să editați manual fiecare recenzie și să mutați manual acest scor - nu este grozav.
WordPress nu are funcții integrate pentru crearea câmpurilor personalizate, dar acestea includ numai funcționalități de bază și necesită crearea unor câmpuri programate. ACF are multe tipuri încorporate de câmp, dintre care unele includ:
Pe lângă faptul că aveți câmpuri încorporate, ACF vă oferă o selecție de reguli care pot fi utilizate pentru a determina unde sunt afișate câmpurile în cadrul administratorului dvs. WordPress. Acest lucru este cu adevărat util pentru păstrarea zonei de administrare cât mai curată posibil. De exemplu, puteți afișa un grup de câmpuri personalizate numai dacă este tipul dvs. de postare comentarii
și șablonul de pagină este recomandată
.
Înainte de a începe adăugarea unor câmpuri, trebuie să instalați pluginul ACF. Pentru a face acest lucru, de la tabloul de bord WordPress du-te la Plugin-uri> Adăugați noi. De la Adăugați pluginul ecran, căutați Câmpuri personalizate avansate și faceți clic pe Instalare. Asigurați-vă că ați activat pluginul - dacă a fost instalat corect, atunci ar trebui să vedeți acum câmpuri customizate meniu din cadrul administratorului WordPress.
Admițând tema unui site de revizuire a filmelor, vom crea câteva domenii relevante. Pentru a urmări împreună cu acest tutorial, veți avea nevoie de un tip de post particularizat numit film
. Pentru a afla cum să creați tipuri de posturi, mergeți la acest alt articol Tuts +. Acestea fiind spuse, metodele afișate aici vor funcționa pentru multe alte tipuri de câmpuri personalizate, iar logica pentru crearea și afișarea câmpurilor va rămâne aceeași.
Grupurile de teren sunt exact ceea ce spun ei: grupuri de câmpuri. Folosind exemplul numitului tip post film
, am putea dori să includem următoarele date:
Aceste câmpuri apar în mod logic într-un grup, toate fiind legate de același tip de post. Folosind câmpurile de mai sus, putem începe să ne gândim la tipurile de câmpuri de care avem nevoie pentru aceste date.
Pentru a începe să adăugați un grup de câmp, faceți clic pe câmpuri customizate meniu din tabloul de bord WordPress. Acum, faceți clic pe Adăuga nou buton. Veți fi prezentat acum cu Adăugați un grup de câmpuri noi ecran. Înainte de a face orice altceva, să oferim grupului nostru de câmp un nume introducând în caseta de titlu - am sunat-o pe a mea Datele filmului
.
Apoi, putem adăuga toate domeniile noastre. Apasă pe Adăugați câmpul pentru a începe. Veți vedea acum un formular care are următoarele câmpuri:
Anul filmului
, Regizor
, etc.Anul filmului
ca o etichetă de câmp ar deveni movie_year
ca nume de domeniu.an
trebuie să limităm caracterele la patru.Toate aceste câmpuri apar pentru text
introduceți câmpurile pe unele alte tipuri de câmp, este posibil ca unele dintre aceste opțiuni să nu fie afișate sau pot exista unele opțiuni suplimentare. Așa cum vom folosi de asemenea număr
câmp, există câteva opțiuni suplimentare disponibile pentru noi:
Astfel mi-am creat câmpurile:
Rețineți valorile minime și maxime aici - le-am setat pe acestea pentru a adăuga o validare foarte fundamentală, deoarece este puțin probabil să avem un film mai vechi de 1900 și unul mai mic decât 2050 în durata de viață a site-ului.
Din moment ce vom fi formatarea producției noastre în HTML, nu vrem ca editorii să poată adăuga HTML aici care ar putea interfera cu aspectul nostru. Prin urmare, aici nu a fost selectat "formatare".
Din nou, avem o valoare minimă și maximă setată aici pentru a adăuga o anumită validare; scorurile noastre sunt din zece, deci nu vrem ca editorii să poată introduce un scor mai mare decât acesta. De asemenea, nu vrem să fie inserate scoruri mai mici decât una.
Am adăugat câteva instrucțiuni de câmp la această intrare, pentru că nu există URL-
tipul câmpului, deci este greu de validat. Instrucțiunile ar trebui să facă mai ușor editorii să înțeleagă cum să folosească câmpul.
După ce ați adăugat toate câmpurile dvs., asigurați-vă că faceți clic pe Actualizați buton. Odată ce ați făcut clic pe aceasta, veți reveni la Editați grupul de câmpuri pagină. Există doar câteva lucruri pe care trebuie să le facem pe acest ecran pentru a vă face câmpurile să funcționeze corect.
Sub câmpul de câmp este o casetă numită Locație-acest lucru ne permite să controlam unde se afișează câmpurile personalizate. Nu vrem decât câmpurile personalizate să afișeze tipul de postare film
. În primul drop-down, selectați Tip post, în al doilea drop-down selectați este egal cu, și în cea de-a treia selecție film.
Ultimul lucru pe care trebuie să-l facem aici este setat acolo unde câmpul nostru personalizat va apărea pe ecranul de editare. Pentru a face acest lucru, derulați în jos puțin mai departe spre Opțiuni secțiune. Acest lucru ne permite să alegem unde va apărea metabox-ul câmpului personalizat și ce tip este și ne dă posibilitatea de a ascunde alte lucruri de pe ecranul de editare.
Opțiunile sunt următoarele:
Opțiunile pe care le-am folosit sunt:
Restul au rămas ca defaults.
Puteți verifica dacă câmpurile dvs. sunt afișate corect, făcând un nou post (în acest caz în film
post tip). Dacă toate au funcționat bine, atunci veți vedea metaboxul. Acum este momentul potrivit pentru a adăuga câteva date de testare.
Acum, că ați creat grupurile de câmpuri și aveți câteva date de testare, puteți începe să afișați datele în tema tematică sau copil.
Puteți utiliza standardul WordPress get_post_meta ()
funcția cu ACF, dar este recomandat să utilizați funcțiile proprii ale ACF, deoarece ACF va formata valorile în funcție de tipul de câmp pe care l-ați creat. Vom folosi ACF-urile campul()
funcţie. Această funcție afișează câmpul personalizat și ia un parametru al câmpului, de exemplu:
Să abordăm meta datele noastre. Vom avea toate aceste informații într-un singur div
.
- :
- :
- : / 10
- "target =" _ blank ">
Acest cod este destul de simplu - folosim _E
funcția de a internaționaliza șirurile noastre și ecou lor, și apoi folosind ACF campul()
metodă de a ecou valoarea campului pe care l-am creat. Toate acestea au fost introduse într-o listă neordonată, în interiorul a div
element cu o clasă de Comentarii-meta
, astfel încât să putem viza cu CSS-ul nostru.
Deci, unde merge acest cod? În acest caz, este mai bine să creați un nou șablon pentru tipul dvs. de postare. Pentru a face acest lucru, faceți o copie a temei dvs. single.php
fișier și denumiți-l single-postname.php
-în cazul nostru single-movie.php
. Fiecare single.php
vor arăta diferit, dar ar trebui să aibă un singur lucru în comun: o buclă WordPress. Buclele dvs. WordPress ar trebui să arate astfel:
Câmpurile personalizate pot merge în afara bucla și exact unde le plasați depinde de modul în care doriți ca pagina să pară. În cazul meu (folosind tema implicită Twenty Fourteen), i-am pus chiar sub buclă și am aplicat un anumit stil de bază .Comentarii-meta
CSS.
Am acoperit elementele de bază ale pluginului Advanced Custom Fields. Adică, am adăugat câmpuri și le afișăm acum pe site-ul nostru. Mai sunt mult mai multe la ACF, totuși, și tocmai am zgâriat suprafața. Există mai multe tipuri de câmpuri pe care le puteți utiliza, precum și funcții mai avansate, cum ar fi logica condițională.
Nu ezitați să lăsați întrebări, comentarii și feedback general în formularul de mai jos!