{"id":44303,"date":"2023-07-03T08:00:00","date_gmt":"2023-07-03T07:00:00","guid":{"rendered":"https:\/\/supporthost.com\/it\/?p=44303"},"modified":"2025-12-13T17:29:25","modified_gmt":"2025-12-13T16:29:25","slug":"custom-post-type","status":"publish","type":"post","link":"https:\/\/supporthost.com\/it\/custom-post-type\/","title":{"rendered":"Creare e gestire i custom post type su WordPress"},"content":{"rendered":"\n<p>Con WordPress oltre ai contenuti predefiniti, \u00e8 possibile creare dei <strong>custom post type<\/strong>. <\/p>\n\n\n\n<p>Questa funzione ci permette di creare contenuti personalizzati che potremo gestire separatamente rispetto ad articoli e pagine e per i quali potremo utilizzare un template personalizzato. <\/p>\n\n\n\n<p>In questa guida ti mostrer\u00f2 due diversi metodi per creare i custom post type e ti spiegher\u00f2 come usarli.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Indice<\/h2><nav><ul><li><a href=\"#cosa-sono-i-custom-post-type-di-word-press\">Cosa sono i custom post type di WordPress<\/a><\/li><li><a href=\"#creare-un-custom-post-type-usando-custom-post-type-ui\">Creare un custom post type usando Custom post type UI<\/a><ul><li><a href=\"#aggiungere-un-custom-post-type-con-cpt-ui\">Aggiungere un custom post type con CPT UI<\/a><\/li><\/ul><\/li><li><a href=\"#creare-un-custom-post-type-manualmente\">Creare un custom post type manualmente<\/a><ul><li><a href=\"#aggiungere-altre-etichette\">Aggiungere altre etichette<\/a><\/li><li><a href=\"#personalizzare-le-funzioni-mostrate-nelleditor-del-custom-post-type\">Personalizzare le funzioni mostrate nell&#8217;editor del custom post type<\/a><\/li><li><a href=\"#personalizzare-lo-slug\">Personalizzare lo slug<\/a><\/li><li><a href=\"#aggiungere-categorie-e-tag-ai-custom-post-type\">Aggiungere categorie e tag ai custom post type<\/a><\/li><li><a href=\"#abilitare-la-gerarchia\">Abilitare la gerarchia<\/a><\/li><li><a href=\"#rendere-disponibile-gutenberg-come-editor\">Rendere disponibile Gutenberg come editor<\/a><\/li><li><a href=\"#escludere-i-custom-post-type-dalla-ricerca\">Escludere i custom post type dalla ricerca<\/a><\/li><li><a href=\"#modificare-laspetto-del-menu-per-i-nostri-custom-post-type\">Modificare l&#8217;aspetto del menu per i nostri custom post type<\/a><\/li><\/ul><\/li><li><a href=\"#creare-un-template-per-il-custom-post-type\">Creare un template per il custom post type<\/a><ul><li><a href=\"#aggiungere-campi-personalizzati-al-custom-post-type\">Aggiungere campi personalizzati al custom post type<\/a><\/li><\/ul><\/li><li><a href=\"#mostrare-i-custom-post-type-nelle-pagine-archivio-blog-o-nella-home\">Mostrare i custom post type nelle pagine archivio, blog o nella home<\/a><\/li><li><a href=\"#conclusioni\">Conclusioni<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/creare-e-gestire-custom-post-type-wordpress-1024x538.png\" alt=\"Creare E Gestire Custom Post Type WordPress\" class=\"wp-image-45000\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/creare-e-gestire-custom-post-type-wordpress-1024x538.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/creare-e-gestire-custom-post-type-wordpress-300x158.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/creare-e-gestire-custom-post-type-wordpress-768x403.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/creare-e-gestire-custom-post-type-wordpress-120x63.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/creare-e-gestire-custom-post-type-wordpress.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"cosa-sono-i-custom-post-type-di-word-press\">Cosa sono i custom post type di WordPress<\/h2>\n\n\n\n<p>I contenuti di WordPress sono generalmente chiamati <em>post type<\/em>. A differenza del nome che pu\u00f2 creare confusione, i post type non comprendono solo gli articoli, ma anche le pagine e altri contenuti di un sito WordPress.<\/p>\n\n\n\n<p>Ecco i principali post type predefiniti:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>articoli,<\/li>\n\n\n\n<li>pagine,<\/li>\n\n\n\n<li>allegati,<\/li>\n\n\n\n<li>revisioni,<\/li>\n\n\n\n<li>menu di navigazione.<\/li>\n<\/ul>\n\n\n\n<p>Oltre ai post type predefiniti, \u00e8 possibile creare dei post type personalizzati: i custom post types.<\/p>\n\n\n\n<p>Creando un custom post type andremo a creare quindi un nuovo tipo di post che potr\u00e0 avere delle caratteristiche diverse rispetto agli articoli e alle pagine di WordPress. Per esempio potremmo associare a questi post campi e template personalizzati.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"creare-un-custom-post-type-usando-custom-post-type-ui\">Creare un custom post type usando Custom post type UI<\/h2>\n\n\n\n<p>Uno dei metodi che possiamo usare per creare un custom post type \u00e8 usare un plugin.<\/p>\n\n\n\n<p>Puoi anche seguire il video per vedere come creare i custom post type e aggiungere ad essi dei campi personalizzati.<\/p>\n\n\n\n<div data-video-id=\"XITOhV0CrTE\" style=\"--btn-hover-color:#ff0000;--btn-hover-scale:1;\" class=\"wp-block-supporthost-supporthost-youtube-block\">\n    <div class=\"youtube-video-play youtube-video-play--youtube\" style=\"height:60px;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 71.412 50\" style=\"height:60px;\"><g transform=\"scale(.58824)\"><path class=\"yt-bg\" fill=\"rgba(0,0,0,0.8)\" d=\"M118.9 13.3c-1.4-5.2-5.5-9.3-10.7-10.7C98.7 0 60.7 0 60.7 0s-38 0-47.5 2.5C8.1 3.9 3.9 8.1 2.5 13.3 0 22.8 0 42.5 0 42.5s0 19.8 2.5 29.2C3.9 76.9 8 81 13.2 82.4 22.8 85 60.7 85 60.7 85s38 0 47.5-2.5c5.2-1.4 9.3-5.5 10.7-10.7 2.5-9.5 2.5-29.2 2.5-29.2s.1-19.8-2.5-29.3z\"\/><path fill=\"#ffffff\" d=\"M80.2 42.5L48.6 24.3v36.4z\"\/><\/g><\/svg><\/div>            <img src=\"https:\/\/img.youtube.com\/vi\/XITOhV0CrTE\/maxresdefault.jpg\" loading=\"lazy\" decoding=\"async\">    <\/div>\n\n\n<p>Il plugin che ti mostrer\u00f2 \u00e8 <strong>Custom post type UI<\/strong> (CPT UI) che ha oltre 1 milione di installazioni attive.<\/p>\n\n\n\n<p>La prima cosa da fare \u00e8 installare e attivare il plugin.<\/p>\n\n\n\n<p>Andiamo su <em>Plugin &gt; Aggiungi nuovo<\/em>, cerchiamo il plugin usando la barra di ricerca e poi clicchiamo sul pulsante <em>Installa. <\/em>Qui di seguito ho riassunto i passaggi appena descritti.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"303\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/installare-custom-post-type-ui-1024x303.png\" alt=\"Installare Custom Post Type Ui\" class=\"wp-image-44542\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/installare-custom-post-type-ui-1024x303.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/installare-custom-post-type-ui-300x89.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/installare-custom-post-type-ui-768x227.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/installare-custom-post-type-ui-120x36.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/installare-custom-post-type-ui.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Dopo l&#8217;installazione, possiamo cliccare su <em>Attiva<\/em> per abilitare il plugin.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"827\" height=\"312\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attivare-custom-post-type-ui.png\" alt=\"Attivare Custom Post Type Ui\" class=\"wp-image-44543\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attivare-custom-post-type-ui.png 827w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attivare-custom-post-type-ui-300x113.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attivare-custom-post-type-ui-768x290.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attivare-custom-post-type-ui-120x45.png 120w\" sizes=\"auto, (max-width: 827px) 100vw, 827px\" \/><\/figure>\n\n\n\n<p>Ora che il nostro plugin \u00e8 attivo, siamo pronti per utilizzarlo e creare il nostro primo custom post type.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aggiungere-un-custom-post-type-con-cpt-ui\">Aggiungere un custom post type con CPT UI<\/h3>\n\n\n\n<p>Appena avremo attivato il plugin, comparir\u00e0 nella barra laterale di sinistra una nuova voce &#8220;CPT UI&#8221;.<\/p>\n\n\n\n<p>Clicchiamo su <em>CPT UI &gt; Aggiungi\/modifica tipi di contenuto<\/em>.<\/p>\n\n\n\n<p>Dobbiamo quindi compilare la scheda <em>Aggiungi un nuovo tipo di contenuto<\/em> inserendo le informazioni di base del nostro custom post type.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"592\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-di-base-custom-type-cpt-ui-1024x592.png\" alt=\"Impostazioni Di Base Custom Type Cpt Ui\" class=\"wp-image-44544\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-di-base-custom-type-cpt-ui-1024x592.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-di-base-custom-type-cpt-ui-300x174.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-di-base-custom-type-cpt-ui-768x444.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-di-base-custom-type-cpt-ui-109x63.png 109w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-di-base-custom-type-cpt-ui.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Dopo aver compilato questa parte e in particolare aver inserito l&#8217;etichetta per singolare e plurale, possiamo semplificarci il lavoro.<\/p>\n\n\n\n<p>Cliccando sul link &#8220;Populate additional labels based on chosen labels&#8221; possiamo compilare in automatico tutte le etichette aggiuntive che serviranno per creare le voci nel menu e nelle schermate di modifica.<\/p>\n\n\n\n<p><strong>Nota<\/strong>: considera che alcune delle etichette vengono create in italiano e altre in inglese, per cui potresti volerle modificare manualmente per uniformarle.<\/p>\n\n\n\n<p>Scorrendo nella pagina troviamo la sezione <em>Impostazioni<\/em> da cui possiamo ad esempio modificare la visibilit\u00e0 e impostare un&#8217;icona diversa nel menu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"210\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostare-icona-menu-custom-post-type-cpt-ui-1024x210.png\" alt=\"Impostare Icona Menu Custom Post Type Cpt Ui\" class=\"wp-image-44545\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostare-icona-menu-custom-post-type-cpt-ui-1024x210.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostare-icona-menu-custom-post-type-cpt-ui-300x62.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostare-icona-menu-custom-post-type-cpt-ui-768x157.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostare-icona-menu-custom-post-type-cpt-ui-120x25.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostare-icona-menu-custom-post-type-cpt-ui.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Da qui, nella sezione &#8220;<strong>Supporta<\/strong>&#8220;, possiamo scegliere anche le caratteristiche che verranno mostrate nell&#8217;editor per questo tipo di post.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"552\" height=\"521\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-custom-post-type-cpt-ui.png\" alt=\"Impostazioni Custom Post Type Cpt Ui\" class=\"wp-image-44546\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-custom-post-type-cpt-ui.png 552w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-custom-post-type-cpt-ui-300x283.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/impostazioni-custom-post-type-cpt-ui-67x63.png 67w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/figure>\n\n\n\n<p>Possiamo anche attivare le tassonomie se vogliamo creare categorie e tag per catalogare i nostri custom post type.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"644\" height=\"156\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/tassonomie-custom-post-type-cpt-ui.png\" alt=\"Tassonomie Custom Post Type Cpt Ui\" class=\"wp-image-44547\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/tassonomie-custom-post-type-cpt-ui.png 644w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/tassonomie-custom-post-type-cpt-ui-300x73.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/tassonomie-custom-post-type-cpt-ui-120x29.png 120w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\" \/><\/figure>\n\n\n\n<p>Dopo aver configurato le impostazioni che ci servono possiamo cliccare sul pulsante <em>Aggiungi il tipo di contenuto<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"254\" height=\"63\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/aggiungi-tipo-di-contenuto-cpt-ui.png\" alt=\"Aggiungi Tipo Di Contenuto Cpt Ui\" class=\"wp-image-44548\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/aggiungi-tipo-di-contenuto-cpt-ui.png 254w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/aggiungi-tipo-di-contenuto-cpt-ui-120x30.png 120w\" sizes=\"auto, (max-width: 254px) 100vw, 254px\" \/><\/figure>\n\n\n\n<p>Vedremo quindi comparire il nuovo tipo di post creato nel menu laterale di WordPress.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"237\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-creato-menu-wordpress-1024x237.png\" alt=\"Custom Post Type Creato Menu WordPress\" class=\"wp-image-44549\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-creato-menu-wordpress-1024x237.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-creato-menu-wordpress-300x70.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-creato-menu-wordpress-768x178.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-creato-menu-wordpress-120x28.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-creato-menu-wordpress.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"note\">Adesso andiamo a vedere il secondo metodo per creare i custom post type, vale a dire il <strong>metodo manuale<\/strong>. Se hai scelto di utilizzare il plugin puoi saltare il prossimo capitolo e passare alle sezioni successive in cui vedremo come creare un template per i nostri custom post type e altri sistemi su come utilizzarli.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"creare-un-custom-post-type-manualmente\">Creare un custom post type manualmente<\/h2>\n\n\n\n<p>WordPress ci permette di registrare i nostri custom post type manualmente. Nella pratica faremo la stessa cosa che abbiamo visto prima con il plugin, ma in questo caso andremo a registrare il custom post type direttamente via codice usando la funzione <code>register_post_type()<\/code>.<\/p>\n\n\n\n<p>Possiamo inserire il codice in due modi principali:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>usando il file functions.php del nostro tema, consigliato solo se usiamo un <a href=\"https:\/\/supporthost.com\/it\/tema-child\/\" data-type=\"post\" data-id=\"23609\">tema child<\/a> altrimenti perderemo il codice inserito al primo aggiornamento del tema;<\/li>\n\n\n\n<li>creare un site specific plugin, \u00e8 la soluzione migliore e raccomandata dalla <a href=\"https:\/\/developer.wordpress.org\/plugins\/post-types\/registering-custom-post-types\/\" rel=\"noopener\">documentazione<\/a> di WordPress.<\/li>\n<\/ul>\n\n\n\n<p>Creare un site specific plugin \u00e8 molto semplice.<\/p>\n\n\n\n<p>Creiamo una nuova cartella all&#8217;interno della cartella dei plugin (wp-content\/plugin) e diamole il nome del plugin. Nel nostro esempio la chiameremo &#8220;cpt-supporthost&#8221;.<\/p>\n\n\n\n<p>Creiamo all&#8217;interno di questa nuova cartella un file PHP dandogli il nome del plugin. Per esempio &#8220;cpt-supporthost.php&#8221;.<\/p>\n\n\n\n<p>Adesso possiamo modificare questo file e inserirvi all&#8217;interno il codice che ci serve per registrare il nostro custom post type.<\/p>\n\n\n\n<p>Dopo averlo fatto e aver salvato il file, dovremo attivare il nostro plugin. Andiamo su<em> Plugin &gt; Plugin Installati<\/em>, troviamo il plugin nell&#8217;elenco e clicchiamo su &#8220;Attiva&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"298\" height=\"83\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attivare-site-specific-plugin.png\" alt=\"Attivare Site Specific Plugin\" class=\"wp-image-44550\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attivare-site-specific-plugin.png 298w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attivare-site-specific-plugin-120x33.png 120w\" sizes=\"auto, (max-width: 298px) 100vw, 298px\" \/><\/figure>\n\n\n\n<p>Ecco un esempio di codice che possiamo usare per creare un custom post type.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\/**\n * Plugin Name: CPT SupportHost\n *\/\n\nfunction cpt_supporthost () {\n\t$labels = array(\n\t\t'name'                  =&gt; __( 'Videogiochi'),\n\t\t'singular_name'         =&gt; __( 'Videogioco'),\n\t\t'menu_name'             =&gt; __( 'Videogiochi'),\n\t\t'name_admin_bar'        =&gt; __( 'Videogioco'),\n\t\t'add_new'               =&gt; __( 'Aggiungi nuovo'),\n\t\t'add_new_item'          =&gt; __( 'Aggiungi nuovo Videogioco'),\n\t\t'new_item'              =&gt; __( 'Nuovo Videogioco'),\n\t\t'edit_item'             =&gt; __( 'Modifica Videogioco'),\n\t\t'view_item'             =&gt; __( 'Visualizza Videogioco'),\n\t\t'all_items'             =&gt; __( 'Tutti i Videogiochi'),\n\t\t'not_found'             =&gt; __( 'Nessun videogioco trovato.')\n\t);\n\n\t$args = array(\n\t\t'labels'             =&gt; $labels,\n\t\t'public'             =&gt; true,\n\t\t'publicly_queryable' =&gt; true,\n\t\t'show_ui'            =&gt; true,\n\t\t'show_in_menu'       =&gt; true,\n\t\t'query_var'          =&gt; true,\n\t\t'rewrite'            =&gt; array( 'slug' =&gt; 'videogioco' ),\n\t\t'capability_type'    =&gt; 'post',\n\t\t'exclude_from_search'   =&gt; false,\n\t\t'has_archive'        =&gt; true,\n\t\t'hierarchical'       =&gt; true,\n\t\t'menu_position'      =&gt; null,\n\t\t'supports'           =&gt; array( 'title', 'editor', 'author', 'page-attributes', 'thumbnail', 'custom-fields', 'revisions' ),\n\t\t'taxonomies'         =&gt; array( 'category', 'post_tag' ),\n\t\t'show_in_rest'\t     =&gt; true,\n    \t'menu_icon'          =&gt; 'dashicons-games'      \n\t);\n\n\tregister_post_type( 'Videogioco', $args );\n}\n\nadd_action( 'init', 'cpt_supporthost' );<\/code><\/pre>\n\n\n\n<p>Vediamo come personalizzare il codice per adattarlo alle nostre esigenze. Se hai altri dubbi su parti di codice che non sono spiegate in questa guida, puoi fare riferimento alla <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_post_type\/\" rel=\"noopener\">documentazione<\/a> sulla funzione register post type.<\/p>\n\n\n\n<p>La prima parte del codice ci serve a dichiarare il plugin e dargli un nome, in questo esempio &#8220;CPT SupportHost&#8221;.<\/p>\n\n\n\n<p>Nella riga 6 il nome della funzione pu\u00f2 essere cambiato. Se cambi il nome della funzione, dovrai inserire il nome corretto nell&#8217;ultima riga &#8220;add_action( &#8216;init&#8217;, &#8216;cpt_supporthost&#8217; );&#8221;.<\/p>\n\n\n\n<p>Le etichette dell&#8217;array label possono essere personalizzate, sostituendo &#8220;Videogiochi&#8221; con il nome del custom post type che vuoi creare. Queste etichette verranno mostrate nel back-end di WordPress all&#8217;interno del menu e dell&#8217;editor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aggiungere-altre-etichette\">Aggiungere altre etichette<\/h3>\n\n\n\n<p>Possiamo anche modificare i messaggi che ci vengono mostrati nell&#8217;editor quando programmiamo, pubblichiamo o convertiamo in bozze i nostri custom post type, come ti mostro in questo esempio:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"373\" height=\"51\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/modificare-etichette-messaggi-pubblicazione-custom-post-type.png\" alt=\"Modificare Etichette Messaggi Pubblicazione Custom Post Type\" class=\"wp-image-44551\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/modificare-etichette-messaggi-pubblicazione-custom-post-type.png 373w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/modificare-etichette-messaggi-pubblicazione-custom-post-type-300x41.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/modificare-etichette-messaggi-pubblicazione-custom-post-type-120x16.png 120w\" sizes=\"auto, (max-width: 373px) 100vw, 373px\" \/><\/figure>\n\n\n\n<p>Ci basta definire altre etichette e aggiungerle al codice che abbiamo visto prima, nell&#8217;array &#8220;label&#8221;.<\/p>\n\n\n\n<p>Qui ti riporto il codice di prima con l&#8217;aggiunta di queste ulteriori etichette:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\/**\n * Plugin Name: CPT SupportHost\n *\/\n\nfunction cpt_supporthost () {\n\t$labels = array(\n\t\t'name'                  =&gt; __( 'Videogiochi'),\n\t\t'singular_name'         =&gt; __( 'Videogioco'),\n\t\t'menu_name'             =&gt; __( 'Videogiochi'),\n\t\t'name_admin_bar'        =&gt; __( 'Videogioco'),\n\t\t'add_new'               =&gt; __( 'Aggiungi nuovo'),\n\t\t'add_new_item'          =&gt; __( 'Aggiungi nuovo Videogioco'),\n\t\t'new_item'              =&gt; __( 'Nuovo Videogioco'),\n\t\t'edit_item'             =&gt; __( 'Modifica Videogioco'),\n\t\t'view_item'             =&gt; __( 'Visualizza Videogioco'),\n\t\t'all_items'             =&gt; __( 'Tutti i Videogiochi'),\n\t\t'not_found'             =&gt; __( 'Nessun videogioco trovato.'),\n\t\t'item_published'           =&gt; __( 'Videogioco pubblicato.'),\n        'item_published_privately' =&gt; __( 'Videogioco pubblicato privatamente.'),\n        'item_reverted_to_draft'   =&gt; __( 'Videogioco ripristinato come bozza.' ),\n        'item_scheduled'           =&gt; __( 'Videogioco programmato.'),\n        'item_updated'             =&gt; __( 'Videogioco aggiornato.')\n\t);\n\n\t$args = array(\n\t\t'labels'             =&gt; $labels,\n\t\t'public'             =&gt; true,\n\t\t'publicly_queryable' =&gt; true,\n\t\t'show_ui'            =&gt; true,\n\t\t'show_in_menu'       =&gt; true,\n\t\t'query_var'          =&gt; true,\n\t\t'rewrite'            =&gt; array( 'slug' =&gt; 'videogioco' ),\n\t\t'capability_type'    =&gt; 'post',\n\t\t'exclude_from_search'   =&gt; false,\n\t\t'has_archive'        =&gt; true,\n\t\t'hierarchical'       =&gt; true,\n\t\t'menu_position'      =&gt; null,\n\t\t'supports'           =&gt; array( 'title', 'editor', 'author', 'page-attributes', 'thumbnail', 'custom-fields', 'revisions' ),\n\t\t'taxonomies'         =&gt; array( 'category', 'post_tag' ),\n\t\t'show_in_rest'\t     =&gt; true,\n    \t'menu_icon'          =&gt; 'dashicons-games'      \n\t);\n\n\tregister_post_type( 'Videogioco', $args );\n}\n\nadd_action( 'init', 'cpt_supporthost' );<\/code><\/pre>\n\n\n\n<p>Anche in questo caso ti basta personalizzare le etichette con il nome del custom post type che vuoi creare.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"personalizzare-le-funzioni-mostrate-nelleditor-del-custom-post-type\">Personalizzare le funzioni mostrate nell&#8217;editor del custom post type<\/h3>\n\n\n\n<p>Con la chiave &#8216;supports&#8217; puoi definire quali saranno le funzioni che verranno mostrate nell&#8217;editor inserendole o eliminandole dall&#8217;array.<\/p>\n\n\n\n<p>Ecco le opzioni principali che abbiamo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>title;<\/li>\n\n\n\n<li>editor (ti permette di creare il contenuto, puoi anche creare custom post type senza contenuto, solo con titolo e immagine in evidenza ad esempio);<\/li>\n\n\n\n<li>author;<\/li>\n\n\n\n<li>thumbnail (ti permette di associare un immagine in evidenza al tuo custom post type);<\/li>\n\n\n\n<li>excerpt (mostra il box riassunto. Per opzione predefinita il riassunto viene mostrato nei posti di tipo &#8220;articolo&#8221; ma non per le pagine, come abbiamo visto in maniera approfondita nella <a href=\"https:\/\/supporthost.com\/it\/tutorial-wordpress\/\" data-type=\"post\" data-id=\"21780\">guida a WordPress<\/a>.);<\/li>\n\n\n\n<li>custom-fileds (ti permette di attivare i custom fields);<\/li>\n\n\n\n<li>comments (ti permette di attivare i commenti);<\/li>\n\n\n\n<li>revisions (se non lo inserisci, non verranno conservate le revisioni quando modifichi il post).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"personalizzare-lo-slug\">Personalizzare lo slug<\/h3>\n\n\n\n<p>Usando la chiave <em>rewrite<\/em> possiamo personalizzare lo slug dei nostri custom post type, ci basta inserirlo come in questo esempio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'rewrite' =&gt; array( 'slug' =&gt; 'videogioco' ),<\/code><\/pre>\n\n\n\n<p>In questo modo possiamo personalizzare i permalink dei nostri post.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aggiungere-categorie-e-tag-ai-custom-post-type\">Aggiungere categorie e tag ai custom post type<\/h3>\n\n\n\n<p>Se vogliamo che il nostro custom post type abbia una tassonomia (tag e categorie) possiamo aggiungere la chiave &#8220;taxonomies&#8221; all&#8217;array degli argomenti come abbiamo fatto nel nostro esempio.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'taxonomies' =&gt; array( 'category', 'post_tag' )<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"abilitare-la-gerarchia\">Abilitare la gerarchia<\/h3>\n\n\n\n<p>Se, invece, vogliamo attivare la gerarchia per i nostri custom post type e far s\u00ec che un elemento possa essere impostato come &#8220;genitore&#8221; e un altro come &#8220;figlio&#8221; (come si pu\u00f2 fare nelle pagine), dobbiamo cambiare il valore della chiave &#8220;hierarchical&#8221;, cos\u00ec:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'hierarchical' =&gt; true,<\/code><\/pre>\n\n\n\n<p>Dobbiamo assicurarci che nel parametro &#8220;supports&#8221; sia inserito &#8220;page-attributes&#8221;, come in questo esempio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'supports'           =&gt; array( 'title', 'editor', 'author', 'page-attributes', 'thumbnail', 'custom-fields', 'revisions' ),<\/code><\/pre>\n\n\n\n<p>Dall&#8217;editor potremo quindi impostare la gerarchia.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"307\" height=\"170\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attributi-gerarchia-custom-post-type.png\" alt=\"Attributi Gerarchia Custom Post Type\" class=\"wp-image-44552\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attributi-gerarchia-custom-post-type.png 307w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attributi-gerarchia-custom-post-type-300x166.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/attributi-gerarchia-custom-post-type-114x63.png 114w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"rendere-disponibile-gutenberg-come-editor\">Rendere disponibile Gutenberg come editor<\/h3>\n\n\n\n<p>La chiave &#8216;show in rest&#8217; ci permette modificare i nostri custom post type con l&#8217;<strong>editor a blocchi<\/strong>, <a href=\"https:\/\/supporthost.com\/it\/gutenberg\/\" data-type=\"post\" data-id=\"22269\">Gutenberg<\/a>. Se non definiamo questa opzione (o se la impostiamo su false), verr\u00e0 usato l&#8217;editor classico.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'show_in_rest' =&gt; true,<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"escludere-i-custom-post-type-dalla-ricerca\">Escludere i custom post type dalla ricerca<\/h3>\n\n\n\n<p>Possiamo aggiungere questo parametro se vogliamo che nelle ricerche da front end sul nostro sito vengano esclusi i custom post type:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'exclude_from_search' =&gt; true,<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"modificare-laspetto-del-menu-per-i-nostri-custom-post-type\">Modificare l&#8217;aspetto del menu per i nostri custom post type<\/h3>\n\n\n\n<p>Per impostazione predefinita, quando creiamo un nuovo custom post type nel menu vedremo l&#8217;icona di default degli articoli, come ti mostro qui:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"175\" height=\"194\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-icona-di-default.png\" alt=\"Custom Post Type Icona Di Default\" class=\"wp-image-44553\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-icona-di-default.png 175w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-icona-di-default-57x63.png 57w\" sizes=\"auto, (max-width: 175px) 100vw, 175px\" \/><\/figure>\n\n\n\n<p>Possiamo cambiarla usando passando alla chiave &#8220;menu icon&#8221; il nome dell&#8217;icona che possiamo trovare nell&#8217;<a href=\"https:\/\/developer.wordpress.org\/resource\/dashicons\/#games\" rel=\"noopener\">elenco delle dashicons<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"178\" height=\"187\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-icona-personalizzata.png\" alt=\"Custom Post Type Icona Personalizzata\" class=\"wp-image-44554\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-icona-personalizzata.png 178w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-icona-personalizzata-60x63.png 60w\" sizes=\"auto, (max-width: 178px) 100vw, 178px\" \/><\/figure>\n\n\n\n<p>Nel nostro esempio abbiamo infatti aggiunto questa riga:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'menu_icon' =&gt; 'dashicons-games'<\/code><\/pre>\n\n\n\n<p>Possiamo anche modificare la posizione nel menu in modo da mostrare i nostri custom post type in un ordine diverso nel menu. Per impostazione predefinita la nuova voce nel menu verr\u00e0 creata in fondo, sotto &#8220;Commenti&#8221;.<\/p>\n\n\n\n<p>Possiamo mostrarla in alto, subito sotto &#8220;Bacheca&#8221; modificando la chiave &#8220;menu position&#8221;, in questo modo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>'menu_position' =&gt; 2,<\/code><\/pre>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"179\" height=\"394\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-posizione-menu-predefinita.png\" alt=\"Custom Post Type Posizione Menu Predefinita\" class=\"wp-image-44555\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-posizione-menu-predefinita.png 179w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-posizione-menu-predefinita-136x300.png 136w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-posizione-menu-predefinita-29x63.png 29w\" sizes=\"auto, (max-width: 179px) 100vw, 179px\" \/><figcaption class=\"wp-element-caption\">Posizione predefinita (sotto &#8220;Commenti&#8221;).<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"173\" height=\"478\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-posizione-menu-modificata.png\" alt=\"Custom Post Type Posizione Menu Modificata\" class=\"wp-image-44556\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-posizione-menu-modificata.png 173w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-posizione-menu-modificata-109x300.png 109w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/custom-post-type-posizione-menu-modificata-23x63.png 23w\" sizes=\"auto, (max-width: 173px) 100vw, 173px\" \/><figcaption class=\"wp-element-caption\">Posizione personalizzata (sotto &#8220;Bacheca&#8221;).<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Oppure possiamo mostrarla in altre posizioni assegnando alla chiave menu_position uno di questi valori:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>5 \u2013 sotto Articoli<\/li>\n\n\n\n<li>10 \u2013 sotto Media<\/li>\n\n\n\n<li>20 \u2013 sotto Pagine<\/li>\n\n\n\n<li>25 \u2013 sotto Commenti<\/li>\n\n\n\n<li>65 \u2013 sotto Plugin<\/li>\n\n\n\n<li>70 \u2013 sotto Utenti<\/li>\n\n\n\n<li>75 \u2013 sotto Strumenti<\/li>\n\n\n\n<li>80 \u2013 sotto Impostazioni.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"creare-un-template-per-il-custom-post-type\">Creare un template per il custom post type<\/h2>\n\n\n\n<p>Per impostazione predefinita, quando creiamo un custom post type, WordPress assegner\u00e0 a questa nuova tipologia di post i template di default del <a href=\"https:\/\/supporthost.com\/it\/temi-wordpress\/\" data-type=\"post\" data-id=\"14979\">tema<\/a>, in genere single.php per il post e archive.php per la pagina archivio.<\/p>\n\n\n\n<p>Se vogliamo creare per i nostri custom post type un <strong>template personalizzato <\/strong>possiamo partire proprio dai template predefiniti come base.<\/p>\n\n\n\n<p>La <a href=\"https:\/\/developer.wordpress.org\/themes\/template-files-section\/custom-post-type-template-files\/\" rel=\"noopener\">documentazione<\/a> di WordPress, infatti, ci consiglia di duplicare il file del template predefinito e rinominarlo in questo modo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>single-nome_custom_post_type.php<\/code><\/pre>\n\n\n\n<p>Nel nostro esempio abbiamo creato un custom post type chiamato &#8220;videogiochi&#8221; e andremo, quindi, a creare un file chiamato:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>single-videogiochi.php<\/code><\/pre>\n\n\n\n<p>Tieni presente che alcuni temi richiamano a loro volta altri file all&#8217;interno di &#8220;single.php&#8221;. Per esempio il tema Twenty Twenty-One richiama il file &#8220;content-single.php&#8221;. Per creare il nostro template personalizzato avremo bisogno di creare due file che possiamo chiamare:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>single-videogiochi.php\ncontent-single-videogiochi.php<\/code><\/pre>\n\n\n\n<p>Nel primo file dovremo modificare la riga in cui viene richiamato il secondo file, inserendo il nome corretto, come ti mostro qui:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"732\" height=\"161\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/modificare-template-custom-post-type.png\" alt=\"Modificare Template Custom Post Type\" class=\"wp-image-44558\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/modificare-template-custom-post-type.png 732w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/modificare-template-custom-post-type-300x66.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/modificare-template-custom-post-type-120x26.png 120w\" sizes=\"auto, (max-width: 732px) 100vw, 732px\" \/><\/figure>\n\n\n\n<p>Nel secondo file possiamo andare a modificare il template vero e proprio in base alle nostre esigenze. In questo esempio ho usato le funzioni di ACF per richiamare dei campi personalizzati e modificato il template in modo che il titolo del post non venga mostrato nella pagina.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"904\" height=\"339\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/esempio-template-custom-post-type.png\" alt=\"Esempio Template Custom Post Type\" class=\"wp-image-44559\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/esempio-template-custom-post-type.png 904w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/esempio-template-custom-post-type-300x113.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/esempio-template-custom-post-type-768x288.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/esempio-template-custom-post-type-120x45.png 120w\" sizes=\"auto, (max-width: 904px) 100vw, 904px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"aggiungere-campi-personalizzati-al-custom-post-type\">Aggiungere campi personalizzati al custom post type<\/h3>\n\n\n\n<p>Una delle funzioni pi\u00f9 interessanti \u00e8 la possibilit\u00e0 di creare un custom post type per poi mostrare dei <strong>campi personalizzati<\/strong> solo per questo tipo di post e non per gli articoli o le altre pagine del sito.<\/p>\n\n\n\n<p>Se sai gi\u00e0 creare i campi personalizzati, integrarli all&#8217;interno di un custom post type \u00e8 semplice.<\/p>\n\n\n\n<p>Se hai usato <a href=\"https:\/\/supporthost.com\/it\/advanced-custom-fields\/\" data-type=\"post\" data-id=\"44001\">Advanced Custom Fields<\/a> per creare i campi personalizzati, potrai associare il gruppo di campi al custom post type facilmente.<\/p>\n\n\n\n<p>Vai su <em>ACF &gt; Gruppo di campi<\/em>.<\/p>\n\n\n\n<p>Modifica il gruppo di campi che ti interessa.<\/p>\n\n\n\n<p>Dalla sezione &#8220;Impostazioni&#8221; aggiungi una regola per mostrare il gruppo di campi se il &#8220;Tipo di contenuto \u00e8 uguale a&#8221; e scegli dal menu a tendina il nome del custom post type che hai creato. Dopodich\u00e9 clicca sul pulsante in alto &#8220;Salva le modifiche&#8221;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"503\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/associare-gruppo-di-campi-personalizzati-a-un-custom-post-type-1024x503.png\" alt=\"Associare Gruppo Di Campi Personalizzati A Un Custom Post Type\" class=\"wp-image-44561\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/associare-gruppo-di-campi-personalizzati-a-un-custom-post-type-1024x503.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/associare-gruppo-di-campi-personalizzati-a-un-custom-post-type-300x147.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/associare-gruppo-di-campi-personalizzati-a-un-custom-post-type-768x377.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/associare-gruppo-di-campi-personalizzati-a-un-custom-post-type-120x59.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/associare-gruppo-di-campi-personalizzati-a-un-custom-post-type.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mostrare-i-custom-post-type-nelle-pagine-archivio-blog-o-nella-home\">Mostrare i custom post type nelle pagine archivio, blog o nella home<\/h2>\n\n\n\n<p>Se nel sito abbiamo una pagina blog in cui sono mostrati gli ultimi articoli o mostriamo gli articoli nella home, vedremo che i custom post type non appariranno nella lista come i post del tipo &#8220;articoli.&#8221;<\/p>\n\n\n\n<p>Se vogliamo far s\u00ec che vengano mostrati anche i custom post type, possiamo andare a modificare la query che viene usata per richiamare la lista degli articoli usando questo codice:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_action( 'pre_get_posts', 'add_cpt' );\nfunction add_cpt( $query ) {\n if ( is_home() &amp;&amp; $query-&gt;is_main_query() ) {\n        $query-&gt;set( 'post_type', array( 'post', 'videogiochi' ) );\n    }\n    return $query;\n}<\/code><\/pre>\n\n\n\n<p>Devi modificare il codice in modo da sostituire &#8216;videogiochi&#8217; con il nome del custom post type che hai creato. Se hai creato pi\u00f9 custom post type e vuoi che vengano mostrati ti baster\u00e0 aggiungerli all&#8217;array. <\/p>\n\n\n\n<p>Come si utilizza questo codice?<\/p>\n\n\n\n<p>Per inserirlo ci sono diversi metodi, ad esempio puoi creare un site specific plugin, oppure usare un <a href=\"https:\/\/supporthost.com\/it\/plugin-wordpress\/\" data-type=\"post\" data-id=\"16110\">plugin<\/a> come Code Snippets che ti permette di inserire il codice direttamente dall&#8217;area di amministrazione di WordPress in maniera molto semplice.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"387\" src=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/mostrare-custom-post-type-nel-blog-codice-code-snippet-1024x387.png\" alt=\"Mostrare Custom Post Type Nel Blog Codice Code Snippet\" class=\"wp-image-44562\" srcset=\"https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/mostrare-custom-post-type-nel-blog-codice-code-snippet-1024x387.png 1024w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/mostrare-custom-post-type-nel-blog-codice-code-snippet-300x113.png 300w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/mostrare-custom-post-type-nel-blog-codice-code-snippet-768x290.png 768w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/mostrare-custom-post-type-nel-blog-codice-code-snippet-120x45.png 120w, https:\/\/supporthost.com\/it\/wp-content\/uploads\/sites\/2\/2023\/06\/mostrare-custom-post-type-nel-blog-codice-code-snippet.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusioni\">Conclusioni<\/h2>\n\n\n\n<p>Adesso sai come creare i custom post type su WordPress. Abbiamo visto due metodi: usare un plugin \u00e8 il metodo pi\u00f9 semplice se vuoi una soluzione pronta all&#8217;uso, altrimenti puoi registrare il tuo custom post type usando la funzione di WordPress <code>register_post_type()<\/code>. <\/p>\n\n\n\n<p>Puoi usare i custom post type in diversi modi per esempio per gestire meglio i contenuti del tuo sito WordPress o per creare template personalizzati da applicare solo a questo tipo di post magari sfruttando anche i campi personalizzati.<\/p>\n\n\n\n<p>Quale metodo hai usato per creare i custom post type sul tuo sito? Per cosa li usi? Faccelo sapere con un commento.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Con WordPress oltre ai contenuti predefiniti, \u00e8 possibile creare dei custom post type. Questa funzione ci permette di creare contenuti personalizzati che potremo gestire separatamente rispetto ad articoli e pagine e per i quali potremo utilizzare un template personalizzato. In questa guida ti mostrer\u00f2 due diversi metodi per creare i custom post type e ti [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":63592,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[33],"tags":[],"class_list":["post-44303","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"acf":[],"_links":{"self":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/44303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/comments?post=44303"}],"version-history":[{"count":6,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/44303\/revisions"}],"predecessor-version":[{"id":135581,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/posts\/44303\/revisions\/135581"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/media\/63592"}],"wp:attachment":[{"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/media?parent=44303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/categories?post=44303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/supporthost.com\/it\/wp-json\/wp\/v2\/tags?post=44303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}