Wordpress taxonomy

Cum sa creati taxonomii noi pentru postari

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:

  1. Se creeaza in fisierul function.php o functie (noi am numit-o custom_taxonomy() insa ea poate avea orice denumire doriti).
  2. 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)
  3. Dupa cele 3 array-uri se inregistreaza noile taxonomii prin functia implicita register_taxonomy() care contine:
    1. Denumirea
    2. Scopul utilizarii
    3. $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.

Distribuie: