Taxonomiile personalizate WordPress la nivelul următor

Taxonomiile personalizate WordPress sunt o modalitate foarte bună de a organiza conținutul site-ului dvs., dar care sunt ele exact? Cum pot fi implementate eficient? Cu toate acestea, mai important, cum pot beneficia site-ul dvs.? Nu vă temeți, ceea ce sunteți pe cale să citiți în cele ce urmează este cel mai cuprinzător ghid pentru taxonomiile personalizate WordPress pe care le veți găsi astăzi pe internet.


Taxonomie personalizată

La nivelul său cel mai de bază, o taxonomie este pur și simplu o metodă de grupare a lucrurilor împreună. Dacă ați publicat anterior o postare în WordPress, probabil că ați folosit deja taxonomii. Etichetele și categoriile standard din WordPress sunt considerate taxonomii! Acum, hai să vorbim mai mult despre taxonomiile personalizate. WordPress ți-a permis să-ți creezi propriile taxonomii de la versiunea 2.3, totuși au început să devină foarte populare, deoarece în versiunea 2.9.

O modalitate populară de a explica taxonomiile personalizate este de a folosi exemplul filmelor. Să presupunem că scriem un articol despre filmul "Terminator 2". Ceea ce am face de obicei cu taxonomiile standard încorporate, este clasificarea articolului folosind etichete și categorii. Problema cu taxonomiile construite este că acestea sunt extrem de generice.

Vom continua cu acest exemplu și vom pretinde că am introdus "Arnold Schwarzenegger" ca unul dintre etichetele noastre. Pentru cei care nu sunt familiarizați cu actorul austriac, acest lucru ar putea fi destul de confuz. Este în mod evident numele unei persoane, dar este această persoană un actor? Un director? Un producător? O abordare mult mai bună ar fi să creezi o taxonomie personalizată numită "Actori" și să adaugi numele lui Arnold taxonomiei particulare. Am putea merge mai departe și adăugăm taxonomii personalizate suplimentare pentru alte grupări tipice de filme, cum ar fi genuri, regizori, producători și alții.


Înţelegere Termeni

Un cuvânt pe care ar trebui să-l familiarizați este și termenul. În WordPress, un termen este o clasificare unică care trăiește în interiorul și este definită de taxonomia sa. În exemplul nostru anterior am avut o taxonomie numită "Actori", prin urmare termenii noștri ar fi: Arnold Schwarzenegger, Linda Hamilton, Edward Furlong, etc.


Cum pot beneficia taxonomiile personalizate site-ul meu?

Taxonomiile personalizate pot spori în mod semnificativ organizarea și utilizarea site-ului dvs. web. Din cauza flexibilității care vine cu taxonomiile personalizate, ele vor fi întotdeauna mai specifice subiectului dvs. de alegere în comparație cu etichetele și categoriile. Un exemplu evident este includerea taxonomiilor dvs. în partea de jos sau de sus a articolului dvs. În exemplul de mai jos, am creat trei taxonomii personalizate și am afișat termenii asociați sub zona principală de conținut a articolului.

Răcoros bine? Nu este totuși singura folosire. Veți observa în exemplul de mai sus că textul pare să fie legat de hiperlink, pentru că este. Taxonomiile personalizate vă permit să aveți arhive pentru termeni specifici. Acest lucru nu numai că permite o organizare mai bună a conținutului, dar permite utilizatorilor să se aboneze la termeni specifici prin RSS. O altă utilizare mai puțin utilizată pentru taxonomiile personalizate este pur și simplu să le folosiți ca înlocuitori pentru etichete. Am decis să iau această abordare exactă pentru un blog pe care l-am lansat recent. Nu trebuie întotdeauna să evidențiați faptul că utilizați taxonomii personalizate, amintiți-vă, puterea lor reală se află în potențialul de arhivare superioară, căutare, interogare și structură URL.

Există diverse alte beneficii pentru utilizarea taxonomiilor personalizate, dar mai degrabă decât discutarea cazurilor de utilizare teoretică, să analizăm câteva exemple practice cu codul de copiere a acestora.


Scrierea primei noastre taxonomii personalizate

Acum, când înțelegem ce sunt taxonomiile și cum le folosim, putem începe să le punem în aplicare în temele noastre. Pentru a începe, vom înregistra mai întâi taxonomia personalizată. În acest exemplu, creez o taxonomie numită "Actori". Dacă urmăriți împreună cu acest tutorial, veți dori să vă deschideți tema functions.php fișier și introduceți următorul cod.

 $ labels = array ('nume' => __ ('Actori', 'temele-text-domeniu'), 'singular_name' => search_items '=> __ ("Actori de căutare", "temele dvs."), "popular_items" => __ ("Actori populați" __ ("Actor părinți", "topic-text-domeniu"), "edit_item" => __ ("Editare" Actor ',' your-themes-domain-text '),' update_item '=> __ (' 'your-themes-domain-text'), 'new_item_name' => __ ('New Actor', 'your-themes- domain-text'), 'separate_items_with_commas' => ("Alegeți din cele mai utilizate actori"), "add_or_remove_items" => __ ("Adăugați sau eliminați actorii", "temele-domeniu-text" temele dvs.-domeniul-text ")); $ args = array ('labels' => etichete $, 'public' => true, 'hierarchical' => false, 'show_ui' => true, 'show_in_nav_menus' => true, 'query_var' => true); register_taxonomy ("actori", "post", $ args);

Nu fi alarmat de cantitatea de cod aici, este destul de simplu atunci când o descompune. Majoritatea codului se află în $ etichete matrice. Această matrice definește conținutul anumitor etichete din tabloul de bord WordPress. $ args matricea este locul unde se întâmplă magia reală; aceasta definește setările pentru taxonomie.

Veți observa că pentru argumentul "etichete" trecem în matricea de etichete pe care am creat-o mai devreme. Un alt argument demn de menționat este argumentul "ierarhic". Aceasta definește dacă taxonomiile noastre au sau nu capacitatea de taxonomii imbricate sau taxonomii "copil". În exemplul nostru nu vom avea nevoie de această funcționalitate particulară, dar luăm act de existența sa, deoarece este posibil să aveți nevoie de un sistem taxonomic granular în viitoarele proiecte.

Explicarea fiecărui argument depășește sfera acestui tutorial, dar dacă doriți să aflați mai multe, puteți studia întotdeauna aceste argumente în detaliu pe codul oficial WordPress register_taxonomy pagină.

Ultimul lucru de luat în considerare aici este chemarea la register_taxonomy funcţie. Primul argument definește numele taxonomiei (aceasta este folosită intern în WordPress). Al doilea argument definește care tip de post va fi atașat taxonomia. În scenariul nostru, îl atașăm la postările standard WordPress. Alternativ, puteți să-l atașați la un tip de post personalizat sau chiar la mai multe tipuri diferite de posturi, trecând-o printr-un șir de tipuri de posturi.

Acum, că am înregistrat cu succes taxonomia personalizată, veți observa că acum avem o casetă de metacom "Actori" situată în coloana din dreapta a paginii de editare post WordPress. În această etapă, adăugarea termenilor în această casetă de metadonă le va salva în baza de date, dar nu le va afișa pe capătul din față al temei. Să implementăm exemplul prezentat anterior cu cele trei liste de taxonomii, situate în partea de jos a postului.

Pentru acest exemplu, va trebui să duplicați codul folosit pentru înregistrarea taxonomiei actorilor de două ori și să redenumiți etichetele pentru a reflecta taxonomiile suplimentare, genurile și scriitorii. Iată ce-i pe mine functions.php fișierul arată ca până acum.

 $ labels = array ('nume' => __ ('Actori', 'temele-text-domeniu'), 'singular_name' => search_items '=> __ ("Actori de căutare", "temele dvs."), "popular_items" => __ ("Actori populați" __ ("Actor părinți", "topic-text-domeniu"), "edit_item" => __ ("Editare" Actor ',' your-themes-domain-text '),' update_item '=> __ (' 'your-themes-domain-text'), 'new_item_name' => __ ('New Actor', 'your-themes- domain-text'), 'separate_items_with_commas' => ("Alegeți din cele mai utilizate actori"), "add_or_remove_items" => __ ("Adăugați sau eliminați actorii", "temele-domeniu-text" temele dvs.-domeniul-text ")); $ args = array ('labels' => etichete $, 'public' => true, 'hierarchical' => false, 'show_ui' => true, 'show_in_nav_menus' => true, 'query_var' => true); register_taxonomy ("actori", "post", $ args); $ etichete = array ('name' => __ ('Genuri', 'your-themes-text-domain'), 'singular_name' search_items '=> __ (' genuri de căutare ',' teme-text-domeniu '),' popular_items '=> __ ("Genuri populare" __ ("Toate genurile", "temele dvs."), "parent_item" => __ ("Genul părinte", "topic-text-domain"), "edit_item" Genul ',' temele tale '),' update_item '=> __ (' Update Genre ',' your-themes- domain-text '),' add_new_item ' 'your-themes-domain-text'), 'new_item_name' => __ ('New Genre', 'your-themes- domain-text'), 'separate_items_with_commas' ("alegeți de la generele", "add-or_remove_items" => __ (" temele dvs.-domeniul-text ")); $ args = array ('labels' => etichete $, 'public' => true, 'hierarchical' => false, 'show_ui' => true, 'show_in_nav_menus' => true, 'query_var' => true); register_taxonomy ('genuri', 'post', $ args); $ labels = array ('nume' => __ ('Writers', 'your-themes-domain-text'), 'singular_name' search_items '=> __ (' Scriitorii căutării ',' temele dvs. '),' popular_items '=> __ ("Scriitorii populare" __ ("Toți scriitorii", "temele dvs."), "parent_item" => __ ("Parent Writer", "topic-text-domain"), "edit_item" Writer ',' your-themes-domain-text '),' update_item '=> __ (' 'new_item_name' => __ ('New Writer', 'your-themes-domain-text'), 'separate_items_with_commas' => ("Selectați din cele mai utilizate scriitori", "alegeți de la cele mai utilizate scriitori", "add_or_remove_items" => __ ("Adăugați sau eliminați scriitorii" temele dvs.-domeniul-text ")); $ args = array ('labels' => etichete $, 'public' => true, 'hierarchical' => false, 'show_ui' => true, 'show_in_nav_menus' => true, 'query_var' => true); register_taxonomy ("scriitori", "post", $ args);

Acum, că am înregistrat cele trei taxonomii, suntem gata să afișăm noile noastre taxonomii și termeni în tema noastră. Doar asigurați-vă că editați o postare existentă pentru a adăuga niște termeni inactivi în noile metode de taxonomie.

Introduceți următorul cod în partea de jos a paginii functions.php fişier.

 funcția display_post_taxonomies ($ content) if (is_single ()) $ args = array ('public' => true, '_builtin' => false); $ output = 'obiecte'; $ operator = 'și'; taxonomii $ = get_taxonomies ($ args, $ output, $ operator); dacă (taxonomii $) $ content. = '
„; foreach (taxonomii $ ca taxonomie $) $ args = array ('orderby' => 'nume', 'echo' => false, 'taxonomy'". __ (taxonomie $-> etichete-> nume, "teme-text-domeniu"). '',' show_option_none '=> __ (Taxonomie' Nu '. $ taxonomie-> etichete-> nume,' temele-domeniul-text ')); $ content = '
    ". wp_list_categories ($ args). '
„; conținut $. = '
„; returnează conținut $; add_filter ("the_content", "display_post_taxonomies");

Pe scurt, filtrează conținutul postării pentru a adăuga secțiunea de taxonomie particularizată în partea de jos a postării. Utilizarea unui filtru în locul unei etichete șablon înseamnă că evităm editarea anumitor fișiere șablon. Nu numai că acest lucru este mai ușor, dar ne permite, de asemenea, să utilizăm acest cod în mai multe teme într-o manieră mai flexibilă.

De asemenea, veți observa că această funcție este extrem de generică; nu ne referim deloc la taxonomiile pe care le-am creat mai devreme. Codul de mai sus captează numai taxonomii personalizate, sunând la get_taxonomies funcția cu indexul matrice arge "built_in"setat la false ne asigură că nu includem taxonomii WordPress incluse.

Apoi, reluăm taxonomiile noastre și începem să adăugăm elemente HTML suplimentare în scopuri de formatare. În bucla noastră, de asemenea, facem uz de wp_list_categories funcţie. Această funcție pregătește o listă neordonată de termeni pentru o anumită taxonomie. Nu numai că se ocupă de pregătirea structurii HTML, ci și de legătura automată a fiecărui termen individual cu pagina de arhivă respectivă.

Acum, dacă vă încărcați postul veți observa că aveți un set de trei liste neordonate, fiecare afișând o rubrică de taxonomie cu termenii asociați de dedesubt. Problema este că încă nu există stil. Adăugați următorul cod la temele dvs. style.css fișier pentru a molid un pic.

 .taxonomy_container overflow: hidden; afișare: bloc; clar: ambele; margin-bottom: 20px;  .taxonomy_container ul margine: 0px; padding: 0px; listă-tip: none;  .taxonomy_container> ul lățime: 31%; plutește la stânga; margin-dreapta: 3,5%;  .taxonomy_container> ul: ultimul-copil margin-right: 0%;  .taxonomy_title padding-left: 2px; padding-bottom: 2px; frontieră-fund: 2px solid # 333; afișare: bloc; margin-bottom: 2px; font-weight: bold;  .taxonomy_container> ul li ul li padding-left: 2px; padding-bottom: 3px; margine de fund: 1px punctat #ccc; margin-bottom: 3px;  .taxonomy_container> ul li ul: ultima-copil border-bottom: 0px; 

Concluzie

Acolo îl aveți; o parte din ghidul nostru de a lua taxonomii personalizate WordPress la nivelul următor. Astăzi, am analizat ce taxonomii personalizate sunt, la ce sunt bune și cum să le implementați eficient în tema dvs. În următorul articol vom examina personalizarea șabloanelor dvs. de taxonomie și arhivă pe termen.

Cod