Ghidul începătorului pentru taxonomii WordPress un plug-in personalizat

De-a lungul acestei serii am analizat taxonomiile WordPress: ce sunt, cum funcționează, cum să le diferențieze între diferitele tipuri care există și cum sunt stocate în baza de date.

Singurul lucru pe care trebuie să-l realizăm este de a pune împreună un plugin care demonstrează modul de utilizare a API pentru implementarea propriilor taxonomii personalizate. Deci, în acest post, vom face exact asta. 

Recuperarea din primul post din această serie:

Taxonomie este unul dintre acele cuvinte pe care majoritatea oamenilor nu le auzim nici nu le folosesc. Practic, o taxonomie este o modalitate de a grupa lucrurile împreună.

Și în toată această serie, am folosit fotografia și videografia ca exemple de clasificare. Deci, pentru pluginul pe care îl vom construi, vom include taxonomii ierarhice și non-ierarhice relevante pentru ambele clasificări.

  1. Taxonomiile ierarhice vor include taxonomiile de bază ale fotografii și Videoclipuri.
  2. Taxonomia non-ierarhică va fi pentru specificarea tipului de film utilizat. Aceasta ar putea fi Alb-negru, Culoare, Sepia, sau orice culoare doriți să specificați.

În cele din urmă, plugin-ul va funcționa cu tipul de post standard existent care se livrează cu WordPress. Acest lucru ar trebui să ofere cea mai mare flexibilitate în ceea ce privește construirea unui plugin, demonstrarea conceptelor și utilizarea acestuia în propria dvs. instalare.

Taxonomiile personalizate

În scopul exemplului plugin, o vom numi Taxonomiile personalizate și o vom construi în următoarele etape:

  1. Vom pregăti fișierul cu plugin-ul principal care are textul corespunzător antetului necesar pentru a afișa plugin-ul în tabloul de bord WordPress.
  2. Vom configura codul necesar pentru executarea pluginului principal.
  3. Vom scrie un cod care va introduce atât fotografii și Videoclipuri taxonomie.
  4. Vom scrie un cod care va introduce codul Tipul de film taxonomie.
  5. Apoi vom testa pluginul complet.

1. Antetul Pluginului

Înainte de a face altceva, continuați și creați un director în wp-content / plugins denumit mi-personalizate-taxonomii și introduceți un fișier numit mi-custom-taxonomies.php.

În fișier, adăugați următorul bloc de cod:

În acest moment, ar trebui să vă puteți conecta la tabloul de bord WordPress, să vedeți numele pluginului și să îl activați. Desigur, nimic nu se va întâmpla, de vreme ce nu am făcut încă nimic cu codul sursă.

Apoi, trebuie să creați un alt fișier care va fi folosit pentru alimentarea pluginului. Acest lucru se va baza pe principiile de programare orientate pe obiecte, astfel încât vom crea un fișier numit clasa-mea-custom-taxonomies.php.

Nu vă faceți griji că l-ați populat cu orice cod sursă tocmai acum. Să ne întoarcem mi-custom-taxonomies.php și adăugați o condiție pentru a vă asigura că fișierul plugin-ului principal nu poate fi executat în afara mediului WordPress.

Plasați-o direct sub codul pe care l-am furnizat mai sus.

2. Executarea plug-in-ului de bază

În acest moment, suntem gata să scriem codul care va conduce pluginul. Deci, să definim clasa și o funcție de bază pentru inițializare:

 * / clasa My_Custom_Taxonomies / ** * Inițializează pluginul înregistrând cârligele necesare * pentru a crea taxonomiile personalizate în WordPress. * * @ din 1.0.0 * / funcția publică init () 

După aceea, să ne întoarcem mi-custom-taxonomies.php și adăugați un cod pentru a include fișierul, precum și o metodă care va crea o instanță a clasei și o va executa:

init ();  custom_taxonomies_run ();

Acum, avem tot ce avem nevoie pentru a începe să ne confruntăm de fapt cu cârligele și apelurile pentru a crea taxonomiile personalizate.

3. Introduceți fotografii și Videoclipuri

În acest moment, suntem gata să începem să introducem taxonomiile noastre. Vom concentra mai întâi asupra celor două taxonomii ierarhice - fotografii și Videoclipuri.

În corpul clasei clasa-mea-custom-taxonomies.php fișier, adăugați următoarea funcție:

 'Update_item' => 'Actualizați fotografia', 'add_new_item' => 'Adăugați o fotografie nouă', 'nume_menu' => 'Fotografii', 'singular_name' Fotografii "); $ args = array ('hierarchical' => true, 'labels' => etichete $, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => ); register_taxonomy ("fotografie", "post", $ args); 

Această funcție este responsabilă pentru crearea fotografii taxonomie și va fi chemat din cadrul funcției init când timpul este corect.

Acum, să facem același lucru pentru asta Videoclipuri:

 'Add_new_item' => 'Adăugați un nou videoclip', 'nume_menu' => 'Adăugați un nou videoclip', ' Videoclipuri' ); $ args = array ('hierarchical' => false, 'labels' => etichete $, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => array ('slug' => 'video') ); register_taxonomy ('video', 'post', $ args); 

Să le numim pe cei doi din interiorul funcției init. Facem acest lucru prin înregistrarea acestor funcții cu init cârlig, așa cum este prevăzut de WordPress:

Aici ar trebui să fim capabili să ne îndreptăm Adăugați postare nouă și vedeți noile noastre opțiuni de taxonomie vizibile în tabloul de bord. În caz contrar, verificați-vă codul în mod diferit față de cel partajat mai sus.

Acum că am introdus taxonomiile noastre ierarhice, să trecem la introducerea noastră Tipul de film - sau non-ierarhic - taxonomia noastră.

4. Introduceți Tipul de film

Acest lucru nu este într-adevăr atât de diferit de codul pe care l-am scris până acum. Într-adevăr, diferența principală este că în loc să se precizeze ierarhic la fel de Adevărat, o vom stabili ca fals.

 'Tip de film', 'singular_name' => 'Tip film', 'edit_item' => 'Edit Film Type', 'update_item' => 'Update Film Type', 'add_new_item' menu_name '=>' Tip de film '); $ args = array ('hierarchical' => false, 'labels' => etichete $, 'show_ui' => true, 'show_admin_column' => true, 'rewrite' => ')); register_taxonomy ("tip de film", "post", $ args); 

Acest lucru va duce la un alt tip de element de interfață cu utilizatorul, care arată mai degrabă ca etichete decât opțiunile de categorie pe care le vedeți mai sus.

În cele din urmă, adăugați următoarea linie la metoda init împreună cu restul de cârlige:

Observați că funcțiile sunt mai degrabă ca etichete din acele categorii. Din nou, pentru a reitera, aceasta este una dintre principalele diferențe în taxonomiile ierarhice și non-ierarhice.

5. Testarea Plugin-ului complet

Acum suntem gata să oferim plugin-ului o rotire. Presupunând că ați urmat totul în mod corect în acest tutorial, atunci ar trebui să puteți crea un nou post, ștampilați-l cu un tip de Fotografie sau un tip de Video precum și un tip de Film și să persiste modificările după salvarea sau actualizarea postării.

Dacă nu, verificați-vă codul cu ceea ce se face referire aici și cu ce se face referire în depozitul GitHub asociat.

Concluzie

Acest lucru împachetează Ghidul începătorului pentru Taxonomiile WordPress. De-a lungul seriei, am analizat o definiție a tipurilor de taxonomii, rolul pe care îl joacă în WordPress și am implementat chiar și câteva din propriile noastre.

În acest moment, ar trebui să aveți o înțelegere solidă a conceptului și cum să continuați să le includeți în următorul proiect.

Dacă nu, nu ezitați să lăsați întrebări, comentarii sau feedback general în câmpul de mai jos.

Cod