Uno dei nostri lettori ci ha recentemente contattato chiedendo modi per aggiungere categorie a un tipo di post personalizzato in WordPress.
Le categorie sono una delle tassonomie integrate in WordPress, principalmente per i post del blog. Tuttavia, non appaiono automaticamente nei tipi di post personalizzati, il che limita le tue opzioni organizzative.
Fortunatamente, abbiamo trovato alcune soluzioni semplici a questo problema durante i nostri anni di lavoro su siti web WordPress.
In questo articolo, ti mostreremo come aggiungere categorie a un tipo di post personalizzato in WordPress.

Quando potresti aver bisogno di aggiungere categorie a un tipo di post personalizzato?
WordPress consente agli sviluppatori di plugin e ai proprietari di siti web di creare i propri tipi di contenuto. Simili a post e pagine, anche questi tipi di post personalizzati possono avere le proprie tassonomie come categorie e tag.
Ad esempio, se pubblichi recensioni di film, potresti voler creare un tipo di post personalizzato per 'Film'.
Potresti anche aver bisogno di organizzare i tuoi film in argomenti appropriati, per questo avrai bisogno di una tassonomia personalizzata. Puoi creare una tassonomia chiamata genere.
Tuttavia, cosa succederebbe se volessi usare le stesse categorie che usi per i tuoi post del blog con il tipo di post Film?
Questo è il momento in cui devi abilitare le categorie per il tuo tipo di post personalizzato. Ciò ti consentirebbe di utilizzare le stesse categorie sia per i tuoi post del blog che per il tuo tipo di post personalizzato.
Detto questo, ora diamo un'occhiata a come aggiungere facilmente categorie a un tipo di post personalizzato in WordPress.
- Aggiungere categorie a un tipo di post personalizzato con un plugin
- Aggiungere manualmente categorie a un tipo di post personalizzato con il codice
- Visualizzare più tipi di post nella pagina delle categorie
- Guide esperte sulle categorie in WordPress
Aggiungere categorie a un tipo di post personalizzato con un plugin
Se sei un principiante, ti consigliamo di utilizzare il plugin Custom Post Type UI per creare tipi di post personalizzati.
Con il plugin Custom Post Type UI, hai la possibilità di associare il tuo tipo di post personalizzato a qualsiasi tassonomia integrata o personalizzata, comprese le categorie.
Innanzitutto, devi installare e attivare il plugin Custom Post Type UI. Per maggiori dettagli, consulta la nostra guida passo passo su come installare un plugin WordPress.
Dopo l'installazione, devi visitare CPT UI » Aggiungi/Modifica tipi di post per creare un nuovo tipo di post personalizzato o modificare un tipo di post personalizzato esistente creato con il plugin.

Scorri fino in fondo dove si trovano le Opzioni di impostazione. Da lì, vedrai l'area Tassonomie.
Devi selezionare la casella accanto a categorie e salvare il tuo tipo di post personalizzato.

Non dimenticare di fare clic sul pulsante 'Salva tipo di post' per memorizzare le tue impostazioni.
Ora, puoi modificare qualsiasi contenuto sotto quel particolare tipo di post e vedrai l'opzione per selezionare le categorie nella colonna di destra nell'editor a blocchi di WordPress.

Aggiungere manualmente categorie a un tipo di post personalizzato con il codice
Se hai creato il tuo tipo di post personalizzato aggiungendo il codice nel file functions.php del tuo tema, un plugin specifico per il sito, o in un plugin per snippet di codice, allora dovrai modificare il codice per aggiungere le categorie come tassonomia supportata.
Tutto quello che devi fare è aggiungere questa riga negli argomenti per il tuo custom post type.
'taxonomies' => array( 'category' ),
È probabile che tu abbia già questa riga nel codice esistente per il tuo custom post type con un'altra tassonomia personalizzata al suo interno. Se è così, allora devi solo aggiungere una virgola dopo quella e aggiungere una categoria, in questo modo:
'taxonomies' => array('topics', 'category' ),
Ecco un esempio completo di codice in cui abbiamo creato un custom post type chiamato 'Movies' con supporto per le categorie integrate.
function custom_post_type() {
// Set UI labels for Custom Post Type
$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'twentythirteen' ),
'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'twentythirteen' ),
'menu_name' => __( 'Movies', 'twentythirteen' ),
'parent_item_colon' => __( 'Parent Movie', 'twentythirteen' ),
'all_items' => __( 'All Movies', 'twentythirteen' ),
'view_item' => __( 'View Movie', 'twentythirteen' ),
'add_new_item' => __( 'Add New Movie', 'twentythirteen' ),
'add_new' => __( 'Add New', 'twentythirteen' ),
'edit_item' => __( 'Edit Movie', 'twentythirteen' ),
'update_item' => __( 'Update Movie', 'twentythirteen' ),
'search_items' => __( 'Search Movie', 'twentythirteen' ),
'not_found' => __( 'Not Found', 'twentythirteen' ),
'not_found_in_trash' => __( 'Not found in Trash', 'twentythirteen' ),
);
// Set other options for Custom Post Type
$args = array(
'label' => __( 'movies', 'twentythirteen' ),
'description' => __( 'Movie news and reviews', 'twentythirteen' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'show_in_rest' => true,
// This is where we add taxonomies to our CPT
'taxonomies' => array( 'category' ),
);
// Registering your Custom Post Type
register_post_type( 'movies', $args );
}
/* Hook into the 'init' action so that the function
* Containing our post type registration is not
* unnecessarily executed.
*/
add_action( 'init', 'custom_post_type', 0 );
Visualizzare più tipi di post nella pagina delle categorie
Per impostazione predefinita, le pagine delle categorie sul tuo sito WordPress visualizzeranno solo il tipo di post predefinito 'Posts'.

Per visualizzare i tuoi custom post type sulla stessa pagina di categoria dei tuoi post predefiniti, devi aggiungere questo codice al file functions.php del tuo tema o in un plugin per snippet di codice:
add_filter('pre_get_posts', 'query_post_type');
function query_post_type($query) {
if( is_category() ) {
$post_type = get_query_var('post_type');
if($post_type)
$post_type = $post_type;
else
$post_type = array('nav_menu_item', 'post', 'movies'); // don't forget nav_menu_item to allow menus to work!
$query->set('post_type',$post_type);
return $query;
}
}
Nota: Non dimenticare di sostituire 'movies' con il nome del tuo custom post type.
Ti consigliamo di aggiungere questo codice utilizzando WPCode, il miglior plugin per snippet di codice sul mercato. WPCode rende sicuro e facile aggiungere codice personalizzato in WordPress senza modificare il file functions.php del tuo tema.

To get started, you need to install and activate the free WPCode plugin. If you need help, see our tutorial on how to install a WordPress plugin.
Once the plugin is activated, go to Code Snippets » Add Snippet from the WordPress dashboard.
From the Add Snippet page, hover your mouse over the ‘Add Your Custom Code (New Snippet)’ option and click the ‘+ Add Custom Snippet’ button.

Then, select ‘PHP Snippet’ as the code type from the list of options that appear on the screen.

Next, add a title for your snippet at the top of the page, which is just for your reference and can be anything to help you remember what the code is for.
Then, simply paste the code from above into the ‘Code Preview’ box.

After that, toggle the switch at the top of the page from ‘Inactive’ to ‘Active’ and click the ‘Save Snippet’ button.

You can now visit a category archive page, and it will display your entries from your custom post type.

You can use the same methods to add tags to your custom post types as well. See our guide on categories vs. tags to learn more.
Guide esperte sulle categorie in WordPress
Want to learn more about using categories in WordPress? Check out these tutorials:
- Come cambiare l'ordine delle categorie in WordPress
- Come modificare, spostare ed eliminare correttamente le categorie di WordPress
- Come imporre una categoria per post in WordPress
- Come aggiungere immagini di tassonomia (icone di categoria) in WordPress
- Come convertire le categorie di WordPress in tassonomie personalizzate
- Come mostrare categorie vuote nei widget di WordPress
- How to Track WordPress Category and Tag Analytics (Easy Way)
Speriamo che questo articolo ti abbia aiutato a imparare come aggiungere categorie al tuo custom post type in WordPress. Potresti anche voler consultare la nostra selezione di esperti dei plugin WordPress indispensabili per far crescere il tuo sito web, o questi suggerimenti su come aumentare il traffico del tuo blog.
Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Chandu Mullangi
Ciao, grazie per questo articolo
Il codice per visualizzare più tipi di post nella pagina delle categorie funziona bene.
Voglio visualizzare più tipi di post nella pagina dei tag, puoi condividere quel codice.
Supporto WPBeginner
Per aggiungere i tag ai tuoi custom post type, dovresti aggiungere 'post_tag' al tuo array di tassonomie, in modo che assomigli a:
‘taxonomies’ => array( ‘category’, ‘post_tag’ ),
Amministratore
Muhamad Shahzad
Come possiamo separare gli elenchi di categorie del custom post type dalle categorie dei post del blog. Ho aggiunto il codice sopra e funziona. Ma il problema è che le categorie di questo custom post type e quelle dei post del blog sono mescolate. Dovrebbero essere separate.
Supporto WPBeginner
The goal of this tutorial is to have them mix, for what you are looking for it may be best to use a different category for the custom post types for them to not appear in your category archive pages.
Amministratore
Poulomi Basu
Hello,
I used this code and it worked perfectly! The CPT shows in the post category that I chose for it.
But it doesn’t show in my blog archive. Like the default archive, which shows all posts.
How can I show it there as well?
Grazie mille!
Supporto WPBeginner
You would want to take a look at our article below that covers how to do this
https://www.wpbeginner.com/wp-tutorials/how-to-create-custom-post-types-in-wordpress/
Amministratore
Connie
Please tell me how to add a CPT-category to a menu?
I have the CPT “article” with category “car” and “truck”
I want to have a custom menu with these entries:
All – cars – trucks
I search and search and don’t find it. I see the categories in the menu-administration and I can add them to the menue, but the result of these links = blank pages
I suppose that the listed categories are meant as post-categpories and not as cpt-categpories…
Do you have a hint for me?
Connie
Supporto WPBeginner
You may want to check your screen options in the menu area to see if the custom post type is an option there for you to add that is unchecked currently
Amministratore
Vico
I’ve created a post type called products and use core wp categories,
My product url structure is mysite.com/product/skf bearing 12
My category pages show mysite.com/category/bearings
Why product url doesn’t display the Category inside the Url? Like this
mysite.com/bearings/skf bearing 12
My custom post permalink is %category%%post%
I saved the permalink but still showing the same structure
dharamjeet
hey! my default posts category list shows in custom post type category list
please help me to correct it
carlos ballin
finally works for me
thank you
Moises
Why did u add the twentythirteen in the code?
Supporto WPBeginner
Hi Moises,
Questa stringa viene utilizzata per la traduzione. Se il tuo tema supporta la traduzione, allora devi sostituirla con il text domain del tuo tema. Se non sei sicuro di cosa usare qui, chiedi al supporto del tuo tema. Puoi anche incollarla così com'è e queste stringhe verranno ignorate.
Amministratore
Brian
FYI, questo interromperà la modifica in blocco nell'area amministrativa. L'ho aggiunto a molti tipi di post e quando vado a modificare in blocco, la parte post_type della query diventa "Array" invece del tipo di post che sta cercando di modificare nell'area amministrativa.
Per aggirare questo problema, è sufficiente aggiungere questo prima di if( is_category() ):
`if ( is_admin() ) return;`
rose
Ciao, ho bisogno di aiuto.
Ho 2 CPT e non voglio che abbiano una tassonomia condivisa.
Come
CPT 1
– Tassonomia (Tipi)
– Tipo A
– Tipo B
CPT 2
– Tassonomia (Tipi)
– Tipo C
– Tipo D
Nota: Non voglio mostrare qui i tipi A&B dal CPT 1
Grazie
Supporto WPBeginner
Ciao Rose,
Quando crei le tue tassonomie, puoi nominarle in modo diverso e permettere loro di avere le stesse etichette.
Amministratore
Gabriela
Come aggiungere un secondo custom post type?
Ho provato a ripetere il codice cambiando solo i nomi dei miei CPT ma non funziona…
Qualche idea?
Arun Sathiya
Il codice per visualizzare i CPT nelle pagine delle categorie funziona alla grande, grazie! Ma c'è qualcosa che dovresti notare. L'ultimo post / post CPT taggato con un nome di categoria non viene visualizzato immediatamente in quella pagina di categoria. Viene visualizzato solo alla seconda azione simile – solo quando un altro post / post CPT viene aggiunto alla stessa categoria, il primo post appare in quella pagina di categoria. C'è una soluzione?
Sonjoe
Sto usando CPT UI. Ho creato il tipo di post personalizzato "jobs" e ho permesso le categorie. Ma queste stesse categorie sono anche nei Post. Usano le stesse categorie. È possibile che il mio tipo di post personalizzato "jobs" abbia le proprie categorie e i post classici abbiano le proprie categorie? Grazie
Rizky
Stessa domanda. Dobbiamo eseguire una query personalizzata se vogliamo creare un archivio di categorie di quel tipo di post personalizzato?
fathur
come gestisci il widget della barra laterale Post recenti che elenca anche la voce di menu?
$post_type = array(‘nav_menu_item’, ‘post’, ‘movies’);
Supporto WPBeginner
puoi rimuovere nav_menu_item
Amministratore
vivek
Thanks for the great tutorial here.
Puoi dirmi come posso mostrare post personalizzati per categoria in una pagina separata?
La pagina della categoria predefinita funziona correttamente, visualizza i post. ma quando ho provato a visualizzare i post sotto la stessa categoria in una pagina diversa, restituisce un array vuoto. Per favore, aiutami
Matthew Wright
Grazie! Questo è fantastico. Ha risolto semplicemente un problema su cui stavo lavorando con soluzioni molto più complicate (che non funzionavano).
Una domanda però, non ho mai aggiunto la dichiarazione della tassonomia quando creavo tassonomie personalizzate per i miei CPT e le tassonomie hanno sempre funzionato. Ho aggiunto solo la ‘categoria’ per vedere cosa succedeva e ha funzionato benissimo, ha aggiunto le categorie dei post al mio CPT senza effetti negativi sulle tassonomie personalizzate esistenti.
È una best practice inserire tassonomie personalizzate negli argomenti del CPT?
Thanks again for sharing
Supporto WPBeginner
Sì, se sai già che utilizzerai una tassonomia personalizzata per quel particolare tipo di post.
Amministratore
Daisy
Codice personalizzato per aggiungere categorie e sottocategorie in tipi di post personalizzati. Se scelgo $post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’); il codice per visualizzare le mie categorie visualizza solo quella categoria, ma se riutilizzo la stessa funzione per un'altra categoria non funziona. Potete darmi qualche idea?
Chris Najman
Ciao. Ho creato con successo un tipo di post personalizzato (Opera d'arte) in functions.php. Poi ho creato una tassonomia personalizzata (‘gerarchica’ => true) il che significa che posso aggiungere categorie personalizzate quando creo un nuovo post Opera d'arte.
Mi stavo chiedendo se, all'interno della stessa funzione di tassonomia personalizzata, potrei predefinire le categorie per il post Opera d'arte.
Vorrei che fossero selezionabili dall'utente solo due categorie: 1) Pittura, 2) Scultura. Non voglio che l'utente possa aggiungere altre categorie. Idealmente, l'utente sarebbe 'costretto' a scegliere una o l'altra categoria, ovvero il post non sarebbe pubblicabile a meno che non fosse stata scelta una categoria.
È possibile?
Supporto WPBeginner
È possibile tramite la creazione di ruoli utente personalizzati con limiti sulla creazione di categorie.
Amministratore
Mau Ferrusca
Sto aggiungendo più di una categoria a diversi tipi di post personalizzati.
Come si può aggiungere più di una nella riga:
$post_type = array(‘nav_menu_item’, ‘post’, ‘myPostType’);
?
Grazie!
Mau Ferrusca
Ho già risolto il mio problema.
Forse istintivamente, ho iniziato a elencare i miei tipi di post personalizzati come un array, ma a quanto pare tutto ciò di cui avevo bisogno era elencarli all'interno dell'oggetto $post_type, separati da virgole.
Grazie!
Eren
Hi, i have a question. I’m using a plugin as a post type and it has its own category area. I want to use my wordpress’s core categories in this plugin but couldnt able to do it so far. I used the plugin above and after that it creates 2 categories area under the plugin and when i want to show the posts under that post type with categories, it shows nothing as the plugin’s own category list is empty. I tried lots of things including manipulating the code of the plugin yet none solved my issue. Is there a way you can suggest?
Davide
Did you find any solution for this issue?
David
Has this article been updated recently to work with the current version of WP? I noticed the plugin used hasn’t been updated in over 2 years, which makes me a little hesitant to use it.
David
Scusa, lascia perdere, vedo le informazioni aggiornate.
Piyush
Grazie per l'ottimo tutorial. puoi dirmi come posso mostrare i post personalizzati per categoria in una pagina separata. Diciamo che ho un CPT "talent" e una categoria "art". Ho due post diversi, uno creato sotto il CPT "talents" e l'altro è un post generale creato sotto "posts". Entrambi i post sono assegnati alla categoria "art" (questo è comune sia per il CPT che per i post generali). Ora so che per i post generali puoi visualizzare la pagina della categoria come example.com/category/art/. Per la pagina della categoria CPT immagino che l'URL dovrebbe essere example.com/talent/art/ ma mi restituisce un errore 404.
Supporto WPBeginner
Prova ad aggiornare la struttura dei tuoi permalink. Visita semplicemente Impostazioni » Permalink e poi fai clic sul pulsante Salva modifiche senza cambiare nulla.
Amministratore
Robert
Ben fatto grazie!
Ho un paio di problemi:
– nel widget “Categorie” compaiono le Categorie dei Custom Post Types ma cliccandoci sopra restituisce un messaggio “nessun risultato trovato”.
– nel widget “Articoli Recenti” non compaiono gli Articoli dei Custom Post Type.
C’è un modo per risolvere?
Hemang Rindani
Articolo interessante. WordPress è un potente servizio di gestione di contenuti web aziendali che consente a un'azienda di avere siti web efficienti che soddisfano i propri requisiti aziendali. È facile da usare e gli strumenti intuitivi rendono lo sviluppo più semplice. Dal design reattivo alla sicurezza e all'espandibilità, WordPress CMS ha tutto, tuttavia, la ricerca degli strumenti giusti per un sito web è importante.
Aggiungere categorie ai custom post type a volte diventa una necessità per differenziare un post dall'altro, dove i metodi menzionati nell'articolo saranno utili. L'uso di un plugin sarà un metodo semplice dove anche una persona non tecnica sarà in grado di implementarlo, tuttavia con questo articolo, non credo che l'uso del codice per aggiungere questa funzionalità da parte di una persona non tecnica sarà difficile.
Grazie per aver condiviso.
Emily Johns
Ottimi consigli, ho trovato il modo di risolvere il mio problema con questo. Grazie!