Organizzare i contenuti di WordPress è facile con le categorie e i tag. Ma a volte non sono sufficienti per organizzare tutto nel modo desiderato. È qui che entrano in gioco le tassonomie personalizzate.
Con le tassonomie personalizzate è possibile creare modi propri per ordinare e raggruppare i contenuti. In questo modo si ha un maggiore controllo e flessibilità sulla categorizzazione di pubblicazioni, prodotti o altri contenuti.
In questa guida vi spiegheremo come creare tassonomie personalizzate in WordPress, sia che usiate un plugin sia che preferiate farlo manualmente.
Che cos’è una tassonomia di WordPress?
Una tassonomia di WordPress è un modo per organizzare gruppi di post e tipi di contenuto personalizzati.
Di default, WordPress è dotato di due tassonomie chiamate categorie e tag. È possibile utilizzarle per organizzare i post del blog.
Tuttavia, se si utilizza un post type personalizzato, le categorie e i tag potrebbero non essere adatti a tutti i contenuti.
Ad esempio, è possibile creare un post type personalizzato chiamato “Libri” e ordinarlo utilizzando una tassonomia personalizzata chiamata “Argomenti”. Poi si possono aggiungere termini come “Avventura”, “Romanticismo”, “Horror” e altri argomenti di libri.
Questo permette a voi e ai vostri lettori di ordinare e filtrare facilmente i libri per ogni argomento.
Le tassonomie possono anche essere gerarchiche, il che significa che si possono avere argomenti principali o genitori come “Narrativa” e “Saggistica”. Poi, sotto ogni categoria ci sono dei sottoargomenti, o figli/bambini.
Ad esempio, la categoria genitore “Fiction” potrebbe avere come figli/bambini “Adventure”, “Romance” e “Horror”.
Ora che sapete cos’è una tassonomia personalizzata, impariamo a creare tassonomie personalizzate in WordPress.
La creazione di tassonomie personalizzate è molto potente, ma c’è molto da coprire. Per aiutarvi a impostare correttamente il tutto, abbiamo creato un indice facile da seguire:
Pronti? Iniziamo!
Creare tassonomie personalizzate con un plugin (in modo semplice)
La prima cosa da fare è installare e attivare il plugin Custom Post Type UI. Per maggiori dettagli, consultate la nostra guida su come installare un plugin di WordPress.
In questa guida abbiamo già creato un tipo di post personalizzato e lo abbiamo chiamato “Libri”. Assicuratevi quindi di aver creato un tipo di post personalizzato prima di iniziare a creare le tassonomie.
Quindi, andiamo su CPT UI ” Aggiungi/Modifica tassonomie nell’area di amministrazione di WordPress per creare la prima tassonomia.
In questa schermata è necessario eseguire le seguenti operazioni:
- Creare lo slug della tassonomia (che sarà inserito nell’URL).
- Creare l’etichetta plurale
- Creare l’etichetta singolare
- Autopopolazione delle etichette
Il primo passo è creare uno slug per la tassonomia da utilizzare nell’URL e nelle query di ricerca di WordPress. Si noti che uno slug può contenere solo lettere e numeri e sarà automaticamente convertito in lettere minuscole.
Successivamente, si inseriranno i nomi plurali e singolari della tassonomia personalizzata.
Da qui, è possibile fare clic sul link “Popola etichette aggiuntive in base alle etichette scelte”. In questo modo, il plugin compila automaticamente gli altri campi delle etichette.
A questo punto, si può scendere fino alla sezione “Etichette aggiuntive”.
In quest’area è possibile fornire una descrizione del post type.
Queste etichette vengono utilizzate nella dashboard di WordPress quando si modificano e gestiscono i contenuti per quella particolare tassonomia personalizzata.
Segue l’opzione delle impostazioni. In quest’area è possibile impostare diversi attributi per ogni tassonomia creata. Ogni opzione ha una descrizione che ne illustra le funzioni.
Nello screenshot qui sopra, si può notare che abbiamo scelto di rendere questa tassonomia gerarchica.
Ciò significa che la nostra tassonomia “Soggetti” può avere sotto-argomenti. Per esempio, un argomento chiamato “Fiction” può avere sotto-argomenti come “Fantasy”, “Thriller”, “Mystery” e altri ancora.
Ci sono molte altre impostazioni in fondo alla schermata della dashboard di WordPress, ma per questo tutorial potete lasciarle così come sono.
Ora è possibile fare clic sul pulsante “Aggiungi tassonomia” in basso per salvare la tassonomia personalizzata.
Dopodiché, è possibile modificare il post type associato a questa tassonomia nell’editor di contenuti di WordPress per iniziare a utilizzarlo.
Creazione manuale di tassonomie personalizzate (con codice)
Questo metodo richiede l’aggiunta di codice al vostro sito WordPress. Se non l’avete mai fatto prima, vi consigliamo di leggere la nostra guida su come aggiungere facilmente snippet di codice in WordPress.
Non consigliamo di modificare direttamente i file di WordPress, perché ogni minimo errore può distruggere l’intero sito. Per questo motivo consigliamo a tutti di utilizzare WPCode, il plugin di snippet di codice più semplice e sicuro che esista.
Per iniziare, è necessario installare e attivare il plugin gratuito WPCode. Per istruzioni dettagliate, consultate la nostra guida passo passo su come installare un plugin di WordPress.
1. Creare una tassonomia gerarchica
Cominciamo con una tassonomia gerarchica che funziona come le categorie e può avere termini padre e figli.
Una volta installato e attivato WPCode, potete andare su Code Snippets ” Add Snippet nella vostra dashboard di WordPress.
Da qui, si può passare il mouse su “Aggiungi il tuo codice personalizzato (nuovo snippet)” e fare clic su “Usa snippet”.
Successivamente, si accede alla pagina “Crea Personalizza Snippet”.
È sufficiente dare un nome al nuovo snippet di codice e incollare il seguente codice nell’area di testo:
//hook into the init action and call create_book_taxonomies when it fires
add_action( 'init', 'create_subjects_hierarchical_taxonomy', 0 );
//create a custom taxonomy name it subjects for your posts
function create_subjects_hierarchical_taxonomy() {
// Add new taxonomy, make it hierarchical like categories
//first do the translations part for GUI
$labels = array(
'name' => _x( 'Subjects', 'taxonomy general name' ),
'singular_name' => _x( 'Subject', 'taxonomy singular name' ),
'search_items' => __( 'Search Subjects' ),
'all_items' => __( 'All Subjects' ),
'parent_item' => __( 'Parent Subject' ),
'parent_item_colon' => __( 'Parent Subject:' ),
'edit_item' => __( 'Edit Subject' ),
'update_item' => __( 'Update Subject' ),
'add_new_item' => __( 'Add New Subject' ),
'new_item_name' => __( 'New Subject Name' ),
'menu_name' => __( 'Subjects' ),
);
// Now register the taxonomy
register_taxonomy('subjects',array('books'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'subject' ),
));
}
Assicurarsi di modificare il “Tipo di codice” in “Snippet PHP” e di attivare/disattivare l’interruttore.
Quindi, si può procedere facendo clic su “Salva snippet”.
Non dimenticate di sostituire il nome della tassonomia e le etichette nello snippet con quelle della vostra tassonomia. Si noterà anche che questa tassonomia è associata al post type Books. È necessario cambiarla con il tipo di post type con cui si desidera utilizzarla.
Quindi, scorrere verso il basso e accertarsi che nel pannello di inserimento siano selezionate le opzioni “Inserisci automaticamente” e “Esegui ovunque”.
Una volta terminato, è possibile scorrere indietro fino alla parte superiore e fare clic sul pulsante “Aggiorna” per rendere effettive le modifiche.
2. Creare una tassonomia non gerarchica
Per creare una tassonomia personalizzata non gerarchica, come quella dei tag, si userà WPCode e si seguiranno gli stessi identici passi di cui sopra.
Solo che, al suo posto, utilizzerete questo codice:
//hook into the init action and call create_topics_nonhierarchical_taxonomy when it fires
add_action( 'init', 'create_topics_nonhierarchical_taxonomy', 0 );
function create_topics_nonhierarchical_taxonomy() {
// Labels part for the GUI
$labels = array(
'name' => _x( 'Topics', 'taxonomy general name' ),
'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
'search_items' => __( 'Search Topics' ),
'popular_items' => __( 'Popular Topics' ),
'all_items' => __( 'All Topics' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Topic' ),
'update_item' => __( 'Update Topic' ),
'add_new_item' => __( 'Add New Topic' ),
'new_item_name' => __( 'New Topic Name' ),
'separate_items_with_commas' => __( 'Separate topics with commas' ),
'add_or_remove_items' => __( 'Add or remove topics' ),
'choose_from_most_used' => __( 'Choose from the most used topics' ),
'menu_name' => __( 'Topics' ),
);
// Now register the non-hierarchical taxonomy like tag
register_taxonomy('topics','books',array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true,
'show_admin_column' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'topic' ),
));
}
Si noti la differenza tra i due frammenti di codice. Nella funzione register_taxonomy()
, il valore dell’argomento hierarchical
è impostato su true
per le tassonomie di tipo category e su false
per le tassonomie di tipo tag.
Inoltre, nell’array delle etichette per le tassonomie non gerarchiche, abbiamo aggiunto null
per gli argomenti parent_item
e parent_item_colon
, il che significa che non verrà mostrato nulla nell’interfaccia utente per creare un elemento genitore o una tassonomia che può avere sottoargomenti.
Anche in questo caso, assicurarsi di modificare il codice per includere le etichette personalizzate della tassonomia.
Visualizzazione delle tassonomie personalizzate
Ora che abbiamo creato le tassonomie personalizzate e abbiamo aggiunto alcuni termini, il vostro tema WordPress non li visualizzerà ancora.
Per visualizzarli, è necessario aggiungere del codice al tema di WordPress o al tema child. In particolare, questo codice deve essere aggiunto ai template dei file in cui si desidera visualizzare i termini.
È possibile aggiungere manualmente questo snippet ai file del tema, come single.php
, content.php
, archive.php
o index.php
. Per capire quale file dovete modificare, potete consultare la nostra guida alla gerarchia dei template di WordPress per istruzioni passo-passo.
Tuttavia, se non viene eseguita correttamente, questa operazione può danneggiare il sito, quindi consigliamo ancora una volta di utilizzare il plugin gratuito WPCode.
È necessario aggiungere il seguente codice nel punto in cui si desidera visualizzare i termini:
<?php the_terms( $post->ID, 'topics', 'Topics: ', ', ', ' ' ); ?>
Quindi, è sufficiente seguire i passaggi precedenti per incollare lo snippet in WPCode.
Ma alla voce Inserimento, si deve fare clic sul menu a tendina accanto a “Posizione” e selezionare il punto in cui si desidera visualizzare la tassonomia, ad esempio prima del post, dopo, o anche tra i paragrafi.
Per questa esercitazione, selezioneremo “Inserisci dopo il post”.
Nell’immagine qui sotto potete vedere come apparirà sul vostro sito live.
Aggiunta di tassonomie per i post personalizzati
Ora che sapete come creare tassonomie personalizzate, mettiamole in pratica con un esempio.
Creeremo una tassonomia e la chiameremo “Saggistica”. Poiché abbiamo un post type personalizzato chiamato “Libri”, è simile a come si crea un normale post di un blog.
Nella vostra Bacheca di WordPress, potete navigare su Libri ” Soggetti per aggiungere un termine o un argomento.
In questa schermata sono presenti 4 aree:
- Nome
- Slug
- Genitore
- Descrizione
Nel campo del nome, si scriverà il termine che si vuole aggiungere. È possibile saltare la parte dello slug e fornire una descrizione per questo particolare termine.
Infine, fare clic sul pulsante “Aggiungi nuovo soggetto” per creare la nuova tassonomia.
Il nuovo termine aggiunto dovrebbe apparire nella colonna di destra.
Ora avete un nuovo termine da utilizzare nei vostri blog. È anche possibile aggiungere termini direttamente durante la modifica o la scrittura di contenuti in quel particolare post type.
Basta andare su Libri ” Aggiungi nuovo per creare una pubblica.
Nell’editor della pubblicazione, troverete l’opzione per selezionare o creare nuovi termini nella colonna di destra.
Dopo aver aggiunto i termini, si può procedere alla pubblicazione del contenuto.
Tutte le pubblicazioni archiviate sotto quel termine saranno accessibili sul vostro sito web utilizzando il proprio URL. Ad esempio, i file archiviati sotto l’argomento “Fiction” appariranno al seguente URL:
https://example.com/subject/fiction/
Aggiunta di tassonomie personalizzate al menu di navigazione
Ora che avete creato le tassonomie personalizzate, potreste volerle visualizzare nel menu di navigazione del vostro sito web.
Si deve andare su Aspetto ” Menu e selezionare i termini che si desidera add-on nella scheda della tassonomia personalizzata che appare sul lato sinistro della schermata.
Non dimenticate di fare clic sul pulsante “Salva menu” per salvare le impostazioni.
Ora potete visitare il vostro sito web per vedere il vostro menu in azione.
Per maggiori dettagli, potete fare riferimento alla nostra guida passo-passo su come creare un menu a discesa in WordPress.
Video tutorial
Se preferite guardare e imparare a creare tassonomie personalizzate, consultate il nostro video tutorial:
Bonus: Approfondire le tassonomie di WordPress
Le tassonomie personalizzate consentono di fare moltissime cose. Ad esempio, è possibile mostrarle in un widget della barra laterale o aggiungere icone di immagini per ogni termine.
È inoltre possibile creare tassonomie personalizzate e consentire agli utenti di iscriversi a singoli termini. In questo modo, i lettori riceveranno aggiornamenti solo sui contenuti specifici che interessano loro.
Se volete personalizzare il layout delle vostre pagine tassonomia personalizzate, potete selezionare SeedProd. È il miglior costruttore di pagine e temi di WordPress con trascinamento e rilascio che consente di creare layout personalizzati senza alcun codice.
Per saperne di più, potete consultare il nostro articolo su come creare una pagina personalizzata in WordPress.
Speriamo che questo articolo vi abbia aiutato a capire come creare tassonomie personalizzate in WordPress. Potreste anche consultare le nostre guide su come add-on le immagini delle tassonomie (icone delle categorie) in WordPress e su come modificare, spostare ed eliminare correttamente le categorie di WordPress.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Jiří Vaněk
Thank you for the clear instructions. I would like to make my own taxonomy for tutorials on the site. This tutorial is great and clear, thanks.
WPBeginner Support
Glad it was helpful
Admin
Kira
Hello.
I don’t understand this part:
ID, ‘topics’, ‘Topics: ‘, ‘, ‘, ‘ ‘ ); ?>
I mean, should I paste exactly that part into my loop-single.php?
I’m using a taxonomy called “writer”
WPBeginner Support
It would depend on where you want to display the terms, normally it would be added to the single.php.
Admin
Wolfgang
Hi,
I used your article to create a CPT with a hierarchical and a non-hierarchical taxonomy attached to it. I created a few entries and it all seems to be working fine. Both taxonomies display fine in their respective archive pages. One thing I noticed though when I tried to add the taxonomies to the menu was that the non-hierarchical taxonomy was available in the “Add menu item” column but the hierarchical taxonomy was NOT.
Is that an expected behavior? If not what could be going wrong?
Thanks
WPBeginner Support
The most common issues you could check would be that you have published content in the taxonomy and you may want to test adding a different content type to test if it is an issue with the taxonomy or something else.
Admin
mb
what does this line do
‘menu_name’ => __( ‘Subjects’ ),
is this in order to add taxonomies to the menu
aditya
hii i try everything but i taxonomy not showing in product. please help me.
WPBeginner Support
You would want to check under your preferences to ensure it is not hidden for your user.
Admin
Gina Wilson
This tutorial and specifically the part of how to display the custom taxonomy was a lifesaver! I’m very much a beginner and this was very helpful in understanding where I went wrong in my coding.
Thank you!!!
WPBeginner Support
Glad our guide was helpful
Admin
fengquanli
this is very confident with the custom post ui, thanks very much ,it’s very useful for get them.
WPBeginner Support
Glad our guide was helpful
Admin
Bruno Oliveira
Awesome tutorial! i have one question. how do i use my new taxonomy slug as permalink like category (/%category%/%year%/%monthnum%/%day%/%postname%/)
I want something like /%custom_taxonomy%/%year%/%monthnum%/%day%/%postname%/
i keep getting 404 error
WPBeginner Support
That is not something WordPress would allow by default and would require some custom coding to set up.
Admin
vikas
i tried the plugin method , it sucessfully created a new category in custom post type but it is not showing on my posts like tags and other categoties. can you help me with that?
WPBeginner Support
You would want to reach out to the support for your specific theme for customizing the display to include your taxonomy.
Admin
Richard
I am creating a podcast network where I have multiple podcasts on a single site with episodes under each individual podcast. Would something like this work for that? I really don’t want to go the multi site route.
WPBeginner Support
You can certainly use this should you want or another option would be to create a custom post type depending on your preference.
Admin
Maria
Hello is possible add the custom taxonomies to a custom product type?
I create a custom product call drinks and i have several taxonomies like country, material and etc
I want when the user click in drinks then only apperas those taxonomies, is this posiible?
WPBeginner Support
You should be able to using the plugin method.
Admin
Parveen Kaushik
Hi,
Thanks for this article, I am getting 404 page after using this code, can you help me
WPBeginner Support
If you haven’t done so yet, resave your permalinks for the most common solution
Admin
Mike Smith
this code works great on my site for work. Can you tell me how to add the custom taxonomy into the site’s rss feed?
WPBeginner Support
It would depend on what you are looking for, for a starting point you would want to take a look at our article below:
https://www.wpbeginner.com/wp-tutorials/how-to-make-a-separate-rss-feed-for-each-custom-post-type-in-wordpress/
Admin
angela
thank you for taking the time to post this, this was the first site that actually explained this and it made sense, haha. im a happy camper now
WPBeginner Support
You’re welcome, glad our guide could help simplify the process
Admin
Jem
How to show custom taxonomy (checkbox list) in Post editor page like category and tag?
WPBeginner Support
It would depend on which method you used to create the custom taxonomy, if you’re using the plugin you would want to reach out to the plugin’s support to make sure they have show_in_rest set to true for seeing it in the block editor.
Admin
Jem
No, I am not using any plugin. I have just copy paste your snippet. Its create new taxonomy. But it is not display in post editor page like category, tags display on rightside panel.
Can you please guide me how can I show custom taxonomy in post editor page?
WPBeginner Support
In the register_taxonomy array, you would want to first try adding a new line with the code below:
‘show_in_rest’ => true,
Jim Gersetich
The first half of this post is completely useless. the Simple Taxonomy plugin doesn’t work with the current WordPress version, and it hasn’t been updated in four years.
Please try to find another plugin and change that section to go with the new one.
WPBeginner Support
Thank you for letting us know, we’ll certainly take a look at updating this article.
Admin