Come spiegato di recente nell’articolo Creare Custom Post Type in WordPress, il CMS più popolare al mondo offre funzioni integrate per realizzare, mediante la scrittura di poche righe di codice, dei tipi di articoli differenti da quelli predefiniti, a vantaggio di una migliore gestione dei contenuti del nostro sito.
Nell’articolo sopra citato abbiamo visto come creare un Custom Post Type personalizzato chiamato Film, utile per le recensioni delle nostre pellicole preferite. Ora necessitiamo di categorizzare i nostri film per genere, suddividendoli in film d’azione, comici, drammatici, horror e così via.
Per farlo, andremo a creare una Custom Taxonomy, chiamata per l’appunto Genere, utilizzando la funzione register_taxonomy, integrata nel core di WordPress.
Apriamo nuovamente il file functions.php del nostro tema con un editor testuale ed aggiungiamo le seguenti righe di codice:
function ctax_genre() { // L'array che contiene le etichette per la tassonomia personalizzata $ labels = array( // Il nome plurale della tassonomia 'name' => _x( 'Generi', 'Taxonomy General Name', 'domain-name' ), // Il nome singolare della tassonomia 'singular_name' => _x( 'Genere', 'Taxonomy Singular Name', 'domain-name' ), // Il nome della tassonomia visualizzato nel menù 'menu_name' => __( 'Genere', 'domain-name' ), // L'etichetta del pulsante Tutti gli elementi 'all_items' => __( 'Tutti i generi', 'domain-name' ), // L'etichetta dell'elemento genitore, utilizzata solo per le tassonomie gerarchiche 'parent_item' => __( 'Genere', 'domain-name' ), // L'etichetta dell'elemento genitore seguita dai due punti 'parent_item_colon' => __( 'Genere:', 'domain-name' ), // L'etichetta del pulsante Nuovo elemento 'new_item_name' => __( 'Nome nuovo genere', 'domain-name' ), // L'etichetta del pulsante Aggiungi nuovo 'add_new_item' => __( 'Aggiungi genere', 'domain-name' ), // L'etichetta del pulsante Modifica elemento 'edit_item' => __( 'Modifica genere', 'domain-name' ), // L'etichetta del pulsante Aggiorna elemento 'update_item' => __( 'Aggiorna genere', 'domain-name' ), // L'etichetta del pulsante Cerca elementi 'search_items' => __( 'Cerca generi', 'domain-name' ), // L'etichetta del pulsante Aggiungi o rimuovi elementi 'add_or_remove_items' => __( 'Aggiungi o rimuovi generi', 'domain-name' ), ); // L'array contenente gli argomenti passati alla tassonomia personalizzata in fase di registrazione $ args = array( // Le etichette 'labels' => $ labels, // Definisce se la tossonomia è gerarchica come le categorie o non gerarchica come i tag 'hierarchical' => true, // Genera l'interfaccia per la gestione delle tassonomie 'show_ui' => true, // Crea la colonna della tassonomia nella tabella del post type associato 'show_admin_column' => true, // Rende la tassonoimia selezionabile per i menù di navigazione 'show_in_nav_menus' => true, // Permette l'uso della tassonomia al widget Tag cloud 'show_tagcloud' => true, ); register_taxonomy( 'genere', array( 'cpt_film' ), $ args ); } add_action( 'init', 'ctax_genre', 0 );
Così facendo, otteniamo la nostra tassonomia personalizzata Genere associata al Custom Post Type Film.