Cum să lucrați cu WordPress Termen Meta Înțelegerea taxonomiilor

Într-o serie recentă, am vorbit despre modul în care am putea lucra cu metadatele pentru mai multe clase majore în WordPress. 

Acestea includ:

  • Postați metadatele
  • Metadatele utilizatorului
  • Comentariu metadate

Pe parcursul seriei, am vorbit puțin despre modul în care WordPress 4.4 a introdus ideea metadatelor de termen. Nu am vrut să prezint conceptul în contextul acelei serii, deoarece era dependent de înțelegerea a ceva ce dă adesea începătorilor un pic de probleme.

Asta e ceea ce acest seria are drept scop abordarea.

Despre WordPress, taxonomii și termeni

În WordPress, noțiunile de taxonomii și termeni merg împreună. Voi elabora mai multe despre asta în doar o clipă. Dar pentru a lucra în mod corespunzător cu metadatele pe termen, cred că este important să înțelegem taxonomiile, termenii și relațiile lor. În caz contrar, cum altfel putem avea o înțelegere de la capăt la cap a ceea ce facem atunci când lucrăm cu ei la nivel programatic?

În această serie de două articole, vom examina taxonomiile, ce sunt, rolul pe care îl joacă în WordPress și relația lor cu termenii. Apoi ne vom îndrepta atenția asupra termenilor și a modului de a lucra cu noul metadata API.

Dacă nu ați citit încă seria anterioară, vă recomand să faceți acest lucru, deoarece va pune bazele pentru modul în care API vom explora lucrări. Dacă, totuși, optați să nu faceți acest lucru, este în regulă. Această serie ar trebui să acopere tot ce trebuie să știți.

Ce sunt taxonomiile?

După cum este definit în Codex:

În WordPress, o "taxonomie" este un mecanism de grupare pentru unele postări (sau link-uri sau tipuri personalizate de posturi).

Desigur, nu este un cuvânt pe care îl auziți adesea și, uneori, alții se vor confunda atunci când vorbesc despre taxonomii și termeni. Adică vor folosi o exemplificare ca exemplu de taxonomie, dar ceea ce fac, în acest caz, utilizează un termen. Voi atinge asta doar puțin.

Pur și simplu, gândiți-vă la taxonomii ca modalități de a grupa lucrurile împreună. Din cutie, WordPress expediază cu două taxonomii: categorii și Etichete. Vom vorbi despre fiecare dintre acestea mai detaliat momentan.

Acum, există o avertizare, cel puțin atunci când vine vorba de WordPress: taxonomiile pot fi ierarhice sau non-ierarhice. Probabil cel mai comun exemplu al ideii de mai sus este următorul:

  • Când creați o categorie în WordPress, aveți posibilitatea să o creați ca o categorie de nivel superior sau ca o subcategorie a unei categorii preexistente. De exemplu, un vultur poate fi o subcategorie de păsări
  • Când creați o etichetă în WordPress, creați un singur cuvânt sau o expresie cu care doriți să ștampilați (sau, mai mult decât literalmente, etichetați) postarea. Nu există nicio noțiune de etichete copil sau etichete părinte.

Și aceasta este diferența dintre taxonomiile ierarhice și non-ierarhice. E ușor, nu-i așa? Cei care sprijină copii, ca categorii, sunt ierarhici; cei care nu sprijină copii, ca etichetele, nu sunt ierarhici.

Cu munca pe care o vom face în această serie, acest lucru nu are un rol deosebit decât ne ajuta să dobândim o înțelegere mai profundă a ceea ce înseamnă acest limbaj în contextul eforturilor noastre de dezvoltare.

Dar când începem să creăm în mod programatic aceste entități și adăugându-le metadate, nu ar trebui să avem nicio confuzie cu privire la ceea ce facem.

Ce sunt termenii?

Am definit taxonomia, dar cum rămâne cu termenii? Din Codul:

În WordPress, un termen este o clasificare, un grup sau un subset al unei taxonomii, unde acesta din urmă poate fi o categorie, o etichetă sau o taxonomie personalizată. În mod prestabilit, termenii au un titlu, un slug și o descriere. Taxonomiile ierarhice precum categoriile pot defini un termen părinte.

Având în vedere ceea ce am discutat până acum, acesta este exact ceea ce ar trebui să ne așteptăm. Adică, termenii sunt asociați cu taxonomiile. Cu toate acestea, termenii au câteva aspecte notabile pe care ar trebui să le cunoaștem, mai ales dacă le vom crea sau vom lucra cu ele programabil. 

Astfel, termenii sunt compuși din:

  • un cioc
  • un titlu
  • o descriere

Rețineți că dacă lucrăm cu o taxonomie ierarhică, ca o categorie, atunci termenul poate include opțional un termen părinte. 

Pentru a fi clar, acest lucru nu înseamnă că o taxonomie nu are un set de informații legate de aceasta. De exemplu, o taxonomie necesită un nume, un tip de post la care este asociat și un număr de argumente care sunt în afara domeniului acest articol. Vom vedea mai multe despre acest lucru în următorul articol, totuși.

Cum sunt ele legate?

Relația dintre taxonomii și termeni este oarecum simbiotică, ceea ce înseamnă că nu poate exista fără cealaltă. Acest lucru este valabil mai ales în ceea ce privește taxonomiile ierarhice.

În primul rând, pentru cei care sunt interesați, Codex-ul WordPress oferă o diagramă care explică relația:

De exemplu, este posibil să aveți a Categorie taxonomie, dar trebuie să aveți cel puțin un termen asociat cu acesta. Acesta este motivul pentru care WordPress este livrat cu o valoare implicită Fără categorie termen.

Pe de altă parte, este posibil să creați o Etichetă taxonomie, dar nu au taguri care există în baza de date. 

Dar, ca dezvoltatori, putem face acest pas mai departe? Adică, deși toate acestea pot fi create în mod programatic, utilizatorii au capacitatea de a crea și adăuga, de asemenea. Cel puțin, dacă interfața cu utilizatorul expune o opțiune pentru a face acest lucru. 

Cazul în punctul: Când vă uitați la interfața de utilizare WordPress, toți avem capacitatea de a crea categorii și etichete.

Dacă, totuși, sunteți un programator și doriți să introduceți anumite taxonomii și termeni în baza de date, atunci aveți abilitatea de a face acest lucru și pentru a împiedica utilizatorii să le adauge și să le elimine din interfața cu utilizatorul.

Despre metadatele termenului?

Am definit definițiile taxonomiilor și termenilor, precum și diferențele dintre ele, dar rămâne o întrebare: De ce avem nevoie de metadate de termeni? Sau, probabil, alternativ, care este punctul de vedere al metadatelor de termen?

Aceasta este o întrebare bună și probabil că este o parte integrantă a motivului pentru care această caracteristică nu a fost introdusă până la WordPress 4.4. Interesant, biletul pentru această funcție a fost introdus pentru mai mult de șase ani în urmă. Rațiunea principală a biletului (direct de la Trac în sine) prevede:

În acest moment nu există o modalitate dedicată de a stoca date suplimentare pentru taxonomie. Dezvoltatorii de plugin-uri trebuie să-și dezvolte propria metodă pentru stocarea acestor date, de ex. stocându-le codificate în câmpul de descriere sau folosind set_option (). Va fi bine să adăugați noi funcții pentru acest lucru, de ex. add_taxonomy_data () / get_taxonomy_data ().

Dacă sunteți un dezvoltator experimentat WordPress, atunci acest lucru are sens perfect. Dar nu toți suntem încă la acest nivel, deci nu suntem siguri de avantajele pe care ni le cumpără.

Ca toate celelalte API-uri, ne permite să stocăm informații despre orice termen dat care există în baza de date. Acest lucru ar putea fi orice în legătură cu momentul în care termenul a fost creat, cine a creat termenul sau câte posturi sunt etichetate cu un anumit termen sau ne permite să asociem o imagine cu un termen.

Deoarece susține un nivel de informație arbitrară, posibilitățile sunt extrem de largi în ceea ce privește ceea ce putem face cu această informație. Și începând din următorul articol, vom vedea exact acest lucru.

Concluzie

În acest moment, ar trebui să aveți tot ce trebuie să știți pentru a lucra cu taxonomii și termeni. Sigur, probabil că va trebui să citiți Codul de câteva ori pe măsură ce lucrați la un plugin, o temă sau o soluție personalizată pentru un client, dar acest lucru nu este anormal chiar și pentru un dezvoltator experimentat.

În următorul articol, vom examina modul de lucru cu metadatele termenului. În mod specific, vom examina codul exemplu, îl vom conecta la unul dintre temele implicite în WordPress și vom monitoriza baza de date pe măsură ce vom face modificări.

Între timp, dacă sunteți interesat de WordPress, dezvoltarea de software sau intersecția dintre cele două, amintiți-vă să aruncați o privire la pagina mea de profil, care include linkuri către toate cursurile și tutorialele pe care le-am publicat pe Envato Tuts+. 

În al doilea rând, nu ezitați să mă urmați pe Twitter la @tommcfarlin, unde vorbesc de multe ori despre resursele legate de WordPress sau că urmează blogul meu în care scriu zilnic despre munca pe care o fac cu WordPress sau subiecte care sunt legate tangențial la el.

În cele din urmă, dacă căutați alte utilitare pentru a vă ajuta să construiți un set tot mai mare de instrumente pentru WordPress sau pentru a studia și a deveni mai bine în WordPress, nu uitați să vedeți ce avem la dispoziție în piața Envato.

Până atunci, vă rugăm să nu ezitați să lăsați întrebări sau comentarii mai jos, și voi face tot ce pot pentru a răspunde la fiecare dintre ei.

Cod