Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come aggiungere categorie a un tipo di post personalizzato in WordPress

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.

La buona notizia? Aggiungere categorie ai tipi di post personalizzati è semplice una volta che sai come fare.

Fortunatamente, abbiamo trovato alcune soluzioni semplici a questo problema negli anni in cui abbiamo lavorato su siti WordPress. In questo articolo, ti mostreremo come aggiungere categorie a un tipo di post personalizzato in WordPress utilizzando un plugin adatto ai principianti o codice personalizzato.

Alla fine, sarai in grado di organizzare tutti i tuoi tipi di contenuto utilizzando il tuo sistema di categorie esistente, mantenendo il tuo sito pulito e facile da gestire.

Aggiungere categorie ai tipi di post personalizzati 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 ai post e alle pagine, anche questi tipi di post personalizzati possono avere le proprie tassonomie come categorie e tag.

Ecco uno scenario comune: Supponiamo che tu pubblichi recensioni di film e desideri creare un tipo di post personalizzato chiamato 'Film' per tenerli separati dai tuoi normali post del blog.

Normalmente, creeresti una tassonomia personalizzata chiamata "Genere" per organizzare i tuoi film per Azione, Commedia, Dramma, ecc. Ciò funziona bene se i tuoi film sono completamente separati dai contenuti del tuo blog.

Ma cosa succede se vuoi usare le stesse categorie per entrambi? Ad esempio, potresti avere post del blog e recensioni di film che rientrano entrambi in "Intrattenimento" o "Contenuti per famiglie".

È qui che devi abilitare le categorie per il tuo tipo di post personalizzato. Invece di gestire due sistemi di tassonomia separati, puoi utilizzare le tue categorie di blog esistenti per entrambi i tipi di post.

Ecco alcuni esempi più concreti in cui questo è utile:

  • Un sito di ricette che ha sia articoli di cucina che post di ricette utilizzando categorie come "Dolci" o "Pasti Veloci"
  • Un sito portfolio con post del blog e vetrine di progetti, entrambi organizzati per "Web Design" o "Branding"
  • Un sito educativo con piani di lezione e articoli, entrambi categorizzati per "Livello scolastico" o "Materia"

Il vantaggio? I tuoi contenuti rimangono organizzati sotto un unico sistema unificato, rendendo più facile per te gestirli e per i visitatori trovare contenuti correlati tra diversi tipi di post.

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

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 di 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.

Modifica dei tipi di post con il plugin CPT UI

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.

Attiva le categorie per un tipo di post personalizzato in WordPress

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.

Categoria aggiunta a un tipo di post personalizzato

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, in un plugin specifico per il sito o in un plugin di snippet di codice, dovrai modificare il codice per aggiungere la categoria 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 qualche altra custom taxonomy al suo interno.

Se lo fai, 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 'Post'.

Tipo di post mancante

Per visualizzare i tuoi tipi di post personalizzati nella stessa pagina di categoria dei tuoi post predefiniti, devi aggiungere questo codice al file functions.php del tuo tema o in un plugin di 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.

Consigliamo di aggiungere questo codice utilizzando WPCode, il miglior plugin di snippet di codice sul mercato. WPCode rende sicuro e facile aggiungere codice personalizzato in WordPress senza modificare il file functions.php del tuo tema.

WPCode

Per iniziare, devi installare e attivare il plugin gratuito WPCode. Se hai bisogno di aiuto, consulta il nostro tutorial su come installare un plugin di WordPress.

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.

Aggiungi un nuovo snippet di codice personalizzato in WPCode

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

Seleziona Snippet PHP come tipo di codice

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.

Quindi, semplicemente incolla il codice da sopra nella casella 'Anteprima codice'.

Incolla il codice nella casella Anteprima codice

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

Attiva e salva il tuo snippet di codice personalizzato

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

Tipo di post visualizzato nella pagina archivio categorie

Puoi usare gli stessi metodi per aggiungere anche i tag ai tuoi tipi di post personalizzati. Consulta la nostra guida su categorie vs. tag per saperne di più.

Guide esperte sulle categorie in WordPress

Want to learn more about using categories in WordPress? Check out these tutorials:

Speriamo che questo articolo ti abbia aiutato a imparare come aggiungere categorie al tuo tipo di post personalizzato in WordPress. Potresti anche voler vedere 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 trovarci anche su Twitter e Facebook.

Divulgazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

39 CommentsLeave a Reply

  1. 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.

    • 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

  2. 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.

    • 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

  3. 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!

  4. 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

    • 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

  5. 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

  6. hey! my default posts category list shows in custom post type category list

    please help me to correct it

    • 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

  7. 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;`

  8. 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

      • 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?

  9. 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?

  10. 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

    • Stessa domanda. Dobbiamo eseguire una query personalizzata se vogliamo creare un archivio di categorie di quel tipo di post personalizzato?

  11. come gestisci il widget della barra laterale Post recenti che elenca anche la voce di menu?

    $post_type = array(‘nav_menu_item’, ‘post’, ‘movies’);

  12. 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

  13. 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 :)

  14. 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?

  15. 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?

  16. 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!

    • 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!

  17. 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?

  18. 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.

  19. 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.

  20. 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?

  21. 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.

Leave A Reply

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.