Come creare una tassonomia personalizzata
Pubblicato: 2016-09-07Questo è il secondo articolo di una serie in 3 parti sul tema dei tipi di post personalizzati (CPT). Gli argomenti trattati negli altri due articoli sono:
- Tipi di post personalizzati e come crearli
- Visualizzazione di tipi di post personalizzati: modelli e query
In questo post del blog vedremo come creare una tassonomia personalizzata e come collegarla a un tipo di post personalizzato.
Che cos'è una tassonomia personalizzata?
Cominciamo con solo, cos'è una tassonomia? Mi piace la definizione ufficiale di WordPress: una tassonomia è un modo per raggruppare le cose.
WordPress ha 4 tassonomie predefinite: Categoria, Tag, Categoria di collegamento e Formati dei post. Sicuramente le più utilizzate delle quattro sono categorie e tag. La tassonomia delle categorie ti consente di raggruppare i post in categorie logiche, che puoi definire tu stesso. La tassonomia dei tag è molto simile, ma può essere utilizzata più liberamente. Un singolo gruppo in una tassonomia è chiamato termine. Ogni tassonomia ha anche la sua pagina "indice", dove vengono visualizzati tutti i post dello stesso termine (gli URL di queste pagine sono simili a: 'tassonomia/termine' ).
Quindi una tassonomia personalizzata è proprio ciò che suggerisce il nome, è il tuo gruppo personalizzato di post (o tipi di post personalizzati). Se avessimo una recensione di un libro come tipo di post personalizzato, un buon esempio di tassonomia personalizzata sarebbero i generi di libri.
Giusto per rinfrescare la memoria: nel precedente articolo sui tipi di post personalizzati, abbiamo utilizzato l'esempio CPT delle testimonianze per il nostro tema Shaka, quindi continueremo a usarlo anche qui.
Quindi, abbiamo il tipo di post personalizzato Testimonianze. Che tipo di tassonomie personalizzate vorremmo? Quali gruppi avrebbero senso per questo caso d'uso? Potremmo raggruppare le testimonianze in base al servizio a cui si riferivano. Potremmo quindi avere una tassonomia personalizzata dei servizi (surf, kite, diving). Un'altra tassonomia personalizzata potrebbe essere quella dei luoghi in cui gli utenti hanno sperimentato questo servizio e così via.
Puoi creare una tassonomia personalizzata per ogni gruppo logico che ti viene in mente.
Come creare una tassonomia personalizzata?
Proprio come con i tipi di post personalizzati, ci sono due modi per registrare una tassonomia personalizzata. Puoi crearlo con un plugin oppure puoi scrivere un po' di codice PHP.
I motivi e i casi d'uso per quando farlo tramite un plug-in o con il codice sono gli stessi dei CPT, quindi dai un'occhiata nel primo articolo.
Qui vedremo solo come creare la tassonomia personalizzata e come collegarla al tipo di post personalizzato.
Crea una tassonomia personalizzata con un plug-in: il modo più semplice
Utilizzeremo il plug-in Custom Post Type UI , per registrare la tassonomia personalizzata, proprio come abbiamo fatto per il CPT nell'articolo precedente:
- Installa e attiva il plug-in dell'interfaccia utente del tipo di post personalizzato dalla dashboard di wp-admin,
- Una volta attivato il plug-in, sarà disponibile la voce di menu di amministrazione dell'interfaccia utente CPT. Vai a CPT UI -> Aggiungi/Modifica tassonomia
- Inserisci lo slug della tassonomia, il nome plurale e singolare e quindi devi selezionare quale tipo di post allegare questa tassonomia personalizzata appena creata (le altre impostazioni predefinite sono ok). Nel nostro caso abbiamo chiamato la nostra tassonomia personalizzata: testimonial_service e l'abbiamo allegata al tipo di post personalizzato delle testimonianze, che abbiamo registrato nell'articolo precedente:
- Se ora osserviamo lo schermo per la creazione di un nuovo tipo di post personalizzato per la testimonianza, vedrai la meta box dei servizi di testimonianza sul lato destro e anche una voce di sottomenu a sinistra:
- Ecco fatto, ora possiamo aggiungere nuovi servizi che raggrupperanno le testimonianze in base ai servizi a cui si riferiscono.
Crea manualmente una tassonomia personalizzata, codifica coinvolta
Sì, il titolo dice che la codifica è coinvolta, ma in realtà non è vero

È possibile utilizzare il generatore di codice WP per generare il codice tassonomia personalizzato. Basta fare clic sulle schede in alto e inserire i dettagli della tua tassonomia personalizzata. Il generatore produrrà un codice di registrazione tassonomia personalizzato valido:
// Register Custom Taxonomy function custom_taxonomy_testimonial_service() { $labels = array( 'name' => _x( 'Testimonial Services', 'Taxonomy General Name', 'text_domain' ), 'singular_name' => _x( 'Testimonial Service', 'Taxonomy Singular Name', 'text_domain' ), 'menu_name' => __( 'Testimonial Services', 'text_domain' ), 'all_items' => __( 'All Items', 'text_domain' ), 'parent_item' => __( 'Parent Item', 'text_domain' ), 'parent_item_colon' => __( 'Parent Item:', 'text_domain' ), 'new_item_name' => __( 'New Item Name', 'text_domain' ), 'add_new_item' => __( 'Add New Item', 'text_domain' ), 'edit_item' => __( 'Edit Item', 'text_domain' ), 'update_item' => __( 'Update Item', 'text_domain' ), 'view_item' => __( 'View Item', 'text_domain' ), 'separate_items_with_commas' => __( 'Separate items with commas', 'text_domain' ), 'add_or_remove_items' => __( 'Add or remove items', 'text_domain' ), 'choose_from_most_used' => __( 'Choose from the most used', 'text_domain' ), 'popular_items' => __( 'Popular Items', 'text_domain' ), 'search_items' => __( 'Search Items', 'text_domain' ), 'not_found' => __( 'Not Found', 'text_domain' ), 'no_terms' => __( 'No items', 'text_domain' ), 'items_list' => __( 'Items list', 'text_domain' ), 'items_list_navigation' => __( 'Items list navigation', 'text_domain' ), ); $args = array( 'labels' => $labels, 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, ); register_taxonomy( 'testimonial_service', array( 'testimonials' ), $args ); } add_action( 'init', 'custom_taxonomy_testimonial_service', 0 );
Puoi incollare questo codice in un plugin appena creato o nel file functions.php del tema. Ho incollato il codice direttamente nel file functions.php, perché è più conveniente per questo esempio. La voce di sottomenu Servizi di testimonianza è apparsa nel menu del dashboard di amministrazione Testimonianze e anche la meta box è presente, proprio come nello screenshot nella configurazione del plug-in sopra.
La registrazione manuale della tassonomia personalizzata sta funzionando, quindi analizziamo il codice e vediamo esattamente cosa fa. La struttura del codice è molto simile alla registrazione del tipo di post personalizzato nel primo articolo, ma varia in alcune impostazioni e chiamate di funzione:
- Attacchiamo la funzione
custom_taxonomy_testimonial_service
WPinit
per registrare la tassonomia personalizzata, - Il primo blocco di codice all'interno della funzione è un array di etichette, in cui è possibile modificare le parole che verranno utilizzate durante la creazione/modifica di tassonomie personalizzate. Suggerimento: ti consiglio di utilizzare le funzioni di internazionalizzazione di escape. Quindi, invece di
_x()
e__()
esc_html_x()
eesc_html__()
, - Il secondo blocco è una matrice di argomenti/impostazioni per la tassonomia personalizzata. Puoi dare un'occhiata alla documentazione ufficiale del WP, per vedere quali argomenti puoi impostare,
- Con
register_taxonomy( 'testimonial_service', array( 'testimonials' ), $args );
call, registriamo la tassonomia personalizzatatestimonial_service
che verrà "allegata" al tipo di post personalizzatotestimonials
con gli argomenti$args
.
Ora che abbiamo registrato il tipo di post personalizzato e la tassonomia personalizzata, non ci resta che visualizzarli sul nostro sito WordPress. Questo sarà l'argomento del prossimo e ultimo post del blog sui tipi di post personalizzati.