Ce inseamna taxonomiile in WordPress?
Cand vorbim de WordPress, taxonomiile joaca un rol important pentru experienta utilizatorului. Taxonomiile sunt metode de clasificare a continutului pentru a fi mai usor de gasit. Cateva tipuri de taxonomii existente in mod implicit sunt categoriile si etichetele (“tags”) utilizate pentru postarile de blog. Inclusiv produsele dintr-un magazin online sunt clasate in astfel de categorii si etichete.
Cum poti crea taxonomii noi?
Pentru a exemplifica cum puteti crea o categorie de selectie noua, vom prezenta un cod care sa genereze o taxonomie noua de culori (prin care ii putem atribui ulterior fiecarei postari cate o culoare din care sa faca parte).
// Register Custom Taxonomy
function custom_taxonomy() {
$labels = array(
'name' => _x( 'Culori', 'Taxonomy General Name', 'text_domain' ),
'singular_name' => _x( 'Culoare', 'Taxonomy Singular Name', 'text_domain' ),
'menu_name' => __( 'Culori', 'text_domain' ),
'all_items' => __( 'Toate culorile', 'text_domain' ),
'parent_item' => __( 'Parent Item', 'text_domain' ),
'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),
'new_item_name' => __( 'Culoare noua', 'text_domain' ),
'add_new_item' => __( 'Adauga culoare', 'text_domain' ),
'edit_item' => __( 'Editeaza culoare', 'text_domain' ),
'update_item' => __( 'Update culoare', 'text_domain' ),
'view_item' => __( 'Vezi culoare', 'text_domain' ),
'separate_items_with_commas' => __( 'Separate items with commas', 'text_domain' ),
'add_or_remove_items' => __( 'Adauga sau sterge culori', 'text_domain' ),
'choose_from_most_used' => __( 'Foloseste cele mai folosite', 'text_domain' ),
'popular_items' => __( 'Culori populare', 'text_domain' ),
'search_items' => __( 'Cauta culori', 'text_domain' ),
'not_found' => __( 'Not Found', 'text_domain' ),
'no_terms' => __( 'No items', 'text_domain' ),
'items_list' => __( 'Lista culori', 'text_domain' ),
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
);
$rewrite = array(
'slug' => 'culoare',
'with_front' => true,
'hierarchical' => false,
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
'rewrite' => $rewrite,
);
register_taxonomy( 'Culori', array( 'post' ), $args );
}
add_action( 'init', 'custom_taxonomy', 0 );
Explicare cod pe scurt:
- Se creeaza in fisierul function.php o functie (noi am numit-o custom_taxonomy() insa ea poate avea orice denumire doriti).
- In cadrul functiei create vori fi create 3 array-uri dupa cum urmeaza:
- $labels – dupa cum ii spune si numele, stabileste label-urile care vor aparea in meniul WordPress al panoului de control.
- $rewrite – specificatii cu privire la ierarhie si altele.
- $args – mentioneaza printre altele care trebuie sa fie slug-ul categoriilor (va aparea in adresa URL a categoriei)
- Dupa cele 3 array-uri se inregistreaza noile taxonomii prin functia implicita register_taxonomy() care contine:
- Denumirea
- Scopul utilizarii
- $args.
Pentru a fi activate taxonomiile, fom folosii un Hook de actiune WordPress, respectiv add_action () care va contine cel putin doua argumente: primul va spune ce tip de actiune este invocat (in cazul nostru “init”) iar al doilea va specifica functia in care au fost create taxonomiile.
Pentru a va personaliza propriile taxonomii, puteti utiliza ca reper codul de mai sus, inlocuind cuvintele “culoare / culori” cu denumirea pe care doriti sa o introduceti, folosind singularul si pluralul numelui acolo unde este necesar.