» » » » » » Taxonomii în WordPress

Taxonomii în WordPress

postat în: WordPress 0

Taxonomia este unul dintre acele cuvinte de care majoritatea oamenilor nu au auzit sau nu le-au folosit. Practic, o taxonomie este un mod de a grupa lucrurile împreună.

De exemplu, am putea avea o grămadă de tipuri diferite de animale. Pot să le grupez în funcție de diferite caracteristici și apoi atribui acestora nume de grupuri. Acest lucru este ceva cu care majoritatea oamenilor se confruntă în clasele de biologie, și este cunoscut sub numele de taxonomie linnaeană.

În WordPress, o „taxonomie” este un mecanism de grupare pentru unele posturi (sau linkuri, sau tipuri de postări personalizate).

Numele pentru diferite grupuri într-o taxonomie sunt numite termeni. Folosind gruparea animalelor ca un exemplu, am putea numi un grup „păsări”, și un alt grup „pești”. „Pești” și „păsări” sunt termeni în taxonomia noastră. În WordPress, o categorie sau o etichetă este un termen.

Schema de bază pe taxonomii și relațiile lor în WordPress

Schema de bază pe taxonomii

Diagrama adăugată cu mulțumiri pentru Pieter Goosen.

Taxonomii implicite

WordPress are patru taxonomii interne pe care le folosiți probabil, deja.

Categoria

Taxonomia „categorie” vă permite să mesajele să grupați împreună postările prin sortarea lor în diferite categorii. Aceste categorii pot fi apoi văzute pe site folosing tipurile de URL „/categorie/nume„. Categoriile tind să fie predefinite și variază larg.

Eticheta

Taxonomia „post_tag” este similară cu categoriile, dar este o formă mai liberă. Etichetele pot fi create direct, prin simpla lor tastarea. Ele pot fi văzute pe site în tipurile de URL „/eticheta/nume„. Postările tind să aibă numeroase etichete, iar acestea sunt în general afișate lângă mesaje sau sub formă de nori de etichete.

Categorie legătură

Taxonomia „link_category” vă permite să clasificați legăturile. Acestea tind să fie folosite numai pe plan intern, din motive organizatorice, și nu sunt de obicei expuse pe site-ul în sine. Ele sunt la îndemână pentru a defini grupuri de legături care urmează să fie afișate în barele laterale și altele asemenea.

Formate de postare

Taxonomia „post_format” a fost introdus în WordPress 3.1 și este o piesă de informații meta care poate fi utilizată de către o temă pentru a personaliza prezentarea unei postări. Fromatele de postări noi nu pot fi create sau adăugate la cele implicite existente.

Taxonomii personalizate

Începând cu WordPress 2.3, se pot crea propriile taxonomii personalizate, dar aceasta a fost o caracteristică rar folosită de WordPress până la versiunea 2.9. Într-adevăr, ele sunt o alternativă extrem de puternică la categorii pentru diferite articole din toate punctele de vedere.

Exemplu

Modulul Matt’s Community Tags foloseste taxonomii pentru a defini „oameni” ca o taxonomie pentru atașamente. El îl folosește pentru a permite oamenilor să marcheze numele persoanelor în imagini, și astfel site-ul său poate afișa imagini de oameni sub URL-ul „/persoană/nume„.

Înregistrarea unei taxonomii

Pentru a înregistra o taxonomie, utilizați funcția register_taxonomy().

Iată un exemplu de înregistrare a unei taxonomii „people”:

function people_init() {
// crează o nouă taxonomie
register_taxonomy(
‘people’,
‘post’,
array(
‘label’ => __( ‘People’ ),
‘rewrite’ => array( ‘slug’ => ‘person’ ),
‘capabilities’ => array(
‘assign_terms’ => ‘edit_guides’,
‘edit_terms’ => ‘publish_guides’
)
)
);
}
add_action( ‘init’, ‘people_init’ );

Aici, taxonomia ”people” este definită. Este definită să lucreze pentru postări, și este definită o rescriere a slug-ului pentru URL în „/person /” în loc de „/people/„. Linia capabilități este opțională. Fără ea, WordPress va face implicite capabilitățile pentru aceeași utilizatori ca și postările. Așa cum s-a arătat mai sus, acest lucru va permite oricărui utilizator cu capacitatea de „edit_guides” personalizată să atribuie taxonomia unei postări și oricărui utilizator cu capabilitatea de „publish_guides” personalizată pentru a crea noi elemente de taxonomie.

Capabilitățile de taxonomie includ assign_terms, edit_terms, manage_terms (afișează taxonomia în navigarea admin) și delete_terms.

Folosirea acelei taxonomii

După ce ați adăugat o taxonomie, veți vedea că WordPress creează o nouă casetă meta pe postări. Această nouă casetă meta arată aproape exact ca și caseta de etichete și vă va permite să adăugați etichete la aceste postări.

Dacă nu ați atașat taxonomie la postări, atunci nu puteți afișa interfața creată. Taxonomiile sunt generice, la urma urmei,  putea crea câte una pentru fiecare tip de obiect. Pentru a adăuga termeni la un obiect folosind taxonomia dvs., va trebui să utilizați funcția wp_set_object_terms(). Iată un exemplu de adăugare a termenului „Bob” la postarea cu numărul de identificare 123 din taxonomia „person„:

wp_set_object_terms( 123, ‘Bob’, ‘person’ );

După cum puteți vedea, este simplu de creat. Al doilea parametru poate fi, de asemenea, o serie de termeni pentru a adăuga o dată, dacă aveți nevoie de acest lucru.

Nori

Funcția wp_tag_cloud() poate accepta, de asemenea, un parametru „taxonomie”, în cazul în care doriți să se afișeze un nor de termeni pentru o taxonomie personalizată.

Listarea termenilor

Dacă doriți să aveți o listă particularizată în temă, atunci aveți posibilitatea să treceți numele taxonomie în funcția the_terms() în Buclă, astfel:

the_terms( $post->ID, ‘people’, ‘People: ‘, ‘, ‘, ‘ ‘ );

care afișează lista de persoane atașate fiecare post.

Interogarea de către taxonomie

Crearea unei taxonomii în general creează automat o variabilă specială de interogare folosind clasa WP_Query, pe care o putem folosi pentru a prelua postările aferente. De exemplu, pentru a obține o listă de postări care au „Bob”, ca o taxonomie „persoană” în ele, vom folosi:

$query = new WP_Query( array( ‘person’ => ‘bob’ ) );

sau, pentru argument mai complex:

$args = array(
‘tax_query’ => array(
array(
‘taxonomy’ => ‘person’,
‘field’ => ‘slug’,
‘terms’ => ‘bob’
)
)
);
$query = new WP_Query( $args );

Eroarea 404

În cazul în care site-ul dvs. utilizează legături permanente personalizate, va trebui să ”curățați” structura legăturilor permanente după efectuarea de modificări la taxonomiile dvs., altfel puteți vedea o eroare „Page Not Found„. Structura legăturilor permanente este curățată automat atunci când vizitați Setări > Legături permanente în panoul de control WordPress.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *