Indice
CPT: Custom Post Type
Chi utilizza WordPress si è di certo imbattuto in un termine tecnico che può trarre in inganno, ossia “Post Type“. Diversamente da quanto il senso comune potrebbe far pensare, esso non fa riferimento solo agli articoli e alle pagine, ma anche a tipi di contenuto come gli allegati, le revisioni, i menù di navigazione.
Pensati per gestire al meglio tutti i contenuti del sito web, i Post Type possono anche essere creati ex novo, sia manualmente sia, in modo ancora più semplice e rapido, utilizzando specifici plugin. In questo caso prendono il nome di CPT (Custom Post Type) e risultano particolarmente utili per chi vuole organizzare il materiale del proprio sito web in modo ancora più personalizzato e flessibile.
Di seguito verrà spiegato in modo più dettagliato che cosa sono i CPT, in quali occasioni possono risultare utili e come procedere per crearli manualmente o con l’aiuto dei migliori plugin.
Che cos’è un Custom Post Type
I CPT sono tipi di post – o di contenuto – personalizzati che possono essere creati senza limiti da chi gestisce o amministra un siti web realizzato con WordPress.
Proprio come i Post Type nativi, dopo essere stati creati, vengono inseriti all’interno del database, nella tabella “wp_posts”. Per individuarli, è necessario scorrere la colonna “post_type”.
È possibile creare diversi tipi di post, da quelli destinati a organizzare i prodotti di un e-commerce senza ricorrere a plugin come WooCommerce a quelli pensati per gestire gli eventi, passando per i tipi di post riservati alle recensioni, alla creazione del portfolio, all’inserimento di mappe, alla gestione di corsi e attività formative e via dicendo. Questa grande versatilità deriva dall’elevato numero di parametri che possono essere assegnati e personalizzati quando si crea un CPT.
In base ai parametri e alle impostazioni scelte, si può ad esempio:
rendere un CPT pubblico, visibile sul front end e indicizzabile oppure privato e raggiungibile solo da backend;
limitarne la visibilità a determinate categorie di utenti o renderlo disponibile per tutti;
rendere modificabile i contenuti tramite l’editor a blocchi Gutenberg oppure tramite quello classico;
permettere di raggiungere la pagina di modifica dei contenuti tramite una voce di menù aggiunta alla barra laterale della dashboard di WordPress o attraverso un URL
e altro ancora.
CPT: quando usarli
I Custom Post Type risultano utili in tutte quelle situazioni in cui i contenuti che andranno a popolare il sito richiedono una struttura o un tipo di gestione diversi da quelli offerti dai Post Type disponibili di default. Possono inoltre essere utilizzati quando a essere diversa è la finalità di utilizzo.
In particolare, è buona norma creare un nuovo custom post type quando si ha necessità di:
inserire nel sito un certo tipo di contenuti dinamici con caratteristiche pressoché simili tra loro, senza farli comparire all’interno del blog. Esempi di questo tipo di contenuto possono essere gli eventi, le sezioni del portfolio, le recensioni;
creare contenuti che richiedono campi personalizzati ben precisi e sempre identici. Esempi tipici sono forniti dai prodotti di un eCommerce, i quali devono sempre essere accompagnati da campi particolari come il prezzo, la descrizione, la scheda prodotto, la disponibilità, le varianti, o dai corsi online, i quali possono richiedere campi come la durata, il livello, il prezzo, il programma, l’insegnante:
aggiungere al sito contenuti riservati, accessibili esclusivamente a specifiche categorie di utenti;
migliorare la gestione dei contenuti lato dashboard, mantenendo diverse le voci di menù relative a diverse tipologie di post e semplificando il compito dei redattori e degli editor;
legare i contenuti a tassonomie personalizzate. È questo, ad esempio, il caso di un CPT per i prodotti di un eCommerce di abbigliamento, il quale può prevedere tassonomie speciali come quelle relative al brand, ai colori, alle taglie, ai tessuti e via dicendo.
Vi sono naturalmente anche casi in cui la creazione di un Post Type personalizzato è pressoché inutile. Ad esempio, si può evitare di creare un nuovo CPT quando:
si desidera implementare nel sito semplici contenuti statici, privi di caratteristiche particolari. In questo caso, si possono utilizzare le normali Pagine:
l’obiettivo è semplicemente quello di non far comparire un numero limitato di articoli nella pagina principale del blog, negli archivi, nei feed. In questo caso, è possibile utilizzare plugin specifici;
si vogliono creare articoli con layout diversi. In questo caso è sufficiente modificare l’aspetto del posto utilizzando i blocchi di Gutenberg.
Come creare un CPT
La creazione dei CPT può essere effettuata sia manualmente sia ricorrendo a plugin pronti all’uso.
Il metodo manuale, perfetto per chi ha una certa dimestichezza con i codici, consente di personalizzare al massimo i nuovi tipi di post e prevede l’aggiunta di codice nel file function.php – meglio se con tema child – oppure la creazione di semplici plugin specializzati. Il secondo metodo, ossia quello basato sull’uso di plugin dedicati, risponde invece alle esigenze dei meno esperti, consentendo loro di implementare rapidamente e senza dover mettere mano a file e codici nuovi tipi di post nel proprio sito web, migliorando l’organizzazione e la gestione dei contenuti.
Indipendentemente dal sistema scelto, ci si troverà di fronte a una serie di elementi comuni, indicati con i medesimi nomi. Questo dipende dal fatto che, sia che si utilizzi un plugin sia che si scriva il codice a mano, la creazione dei CPT di WordPress può essere effettuata esclusivamente tramite l’uso di parametri standardizzati, passati tramite array e definiti da campi che hanno nomi preimpostati e non modificabili. I parametri più importanti sono:
labels: questo elemento, passato come sotto-array, include le stringhe utilizzate come etichette del CPT nelle voci di menù e nell’interfaccia di modifica. Le stringhe vengono assegnate a chiavi immutabili e sempre identiche. Tra queste rientrano, a titolo d’esempio, “name” e “singular_name” per le etichette del singolare e del plurale, “add_new”, “add_new_item”, “edit_item”, “featured_image”, “not_found”;
public: si tratta di un parametro booleano che permette di rendere il CPT visibile sul sito web, raggiungibile e indicizzabile (“true”) o privato, raggiungibile solo dall’area di amministrazione del sito o tramite codice;
supports: anche supports è un sottoarray e serve per definire le funzionalità che si desidera rendere disponibili nella pagina di modifica del CPT. Tali funzionalità vengono richiamate con nomi non modificabili. Tra questi rientrano “title”, “author”, “custom_fields” (da utilizzare se si ha bisogno di aggiungere alla pagina di modifica dei contenuti uno o più campi personalizzati), “revisions”;
hierarchical: si tratta di un altro parametro booleano, finalizzato, in questo caso, ad attivare o disattivare la possibilità di creare contenuti collegati tra loro secondo una gerarchia genitore-figlio:
taxonomies: questo parametro consente di assegnare tassonomie native o personalizzate al CPT;
show_in_rest: ennesimo parametro booleano, se impostato su “true” rende il tipo di post disponibile per l REST API e, di conseguenza, modificabile con l’editor a blocchi Gutenberg;
menu_icon: permette di assegnare al CPT un’icona;
has_archive: parametro booleano che, se impostato su “true” abilita l’archivio del custom post type;
show_in_menu: impostato su “true”, questo parametro booleano aggiunge alla barra laterale della dashboard di WordPress una voce di menù simile a quella delle pagine e degli articoli
publicly queryable: parametro booleano che indica se il contenuto del tipo di post può o meno essere raggiunto tramite URL, visualizzato nel frontend, usato nelle query.
Tra gli altri parametri che possono essere utilizzati per personalizzare il CPT rientrano “rewrite”, “show_ui”, “capability_type”, “menu_position”, “description”.
Realizzare un Custom Post Type manualmente
La creazione manuale di un CPT avviene tramite la scrittura di codice php. Tale codice può essere inserito nel file function.php oppure in un file vuoto (naturalmente con estensione “.php”) che andrà posizionato in una nuova cartella a sua volta aggiunta alla cartella “wp-content/plugins”.
Il codice da utilizzare è pressoché lo stesso; nel secondo caso, sarà però necessario ricordare di includere nel file:
- il tag di apertura, ossia
<?php
- l’intestazione, posizionata subito dopo il tag di apertura e inclusa tra i delimitatori di commento multilinea
/*
e*/
. Questa parte è indispensabile affinché WordPress riconosca il nuovo file come plugin il tag di chiusura, ovvero
?>
Ecco come potrebbe presentarsi la parte iniziale del file php per la creazione di un CPT plugin:
<?php /* Plugin Name: nome del plugin */
L’unico elemento che deve essere obbligatoriamente inserito nell’intestazione è “Plugin Name“, ossia il nome del plugin. Tra quelli facoltativi rientrano invece “Description” (descrizione del CPT plugin), “Author” (il nome di chi ha sviluppato il plugin), “Version” (la versione del plugin), “Text Domain” (da utilizzare soprattutto per i plugin multilingua).
Nel caso in cui si preferisse includere il codice direttamente nel file function.php, sarebbe necessario creare preventivamente un tema child e modificare il file di quest’ultimo. Questo passaggio evita la perdita delle modifiche durante l’aggiornamento del tema.
La funzione register_post_type()
Prima di procedere, è bene fare un chiarimento. Da qui in avanti, il codice, sebbene presenti più o meno sempre gli stessi elementi, può essere strutturato in vari modi. Quello proposto da noi è solo uno dei tanti, ma in rete è possibile trovare numerosi altri esempi non meno validi.
Per registrare il nuovo CPT su WordPress è necessario utilizzare una specifica funzione php: register_post_type()
Nell’esempio da noi proposto, tale funzione può essere inserita:
nel CPT plugin: dopo l’intestazione – in particolare, dopo “*/” -, ma prima del tag di chiusura del codice
nel file function.php del tema child: dopo le funzioni già presenti.
Inoltre, deve essere a sua volta inclusa all’interno di un’altra funzione, il cui nome può essere scelto in modo arbitrario, e preceduta o seguita da:
add_action('init', 'nome_funzione_cpt');
Anche add_action è una funzione, anzi un’importantissima funzione, il cui compito è, in parole semplici, quello di comunicare a WordPress di eseguire la funzione specificata quando è completamente inizializzato, ma prima che abbia generato dell’output per il browser.
Ecco come dovrebbe apparire, seguendo il nostro esempio, il codice di un ipotetico CPT plugin fino a questo punto:
<?php /* Plugin Name: nome del plugin */ add_action('init', 'nome_funzione_cpt'); function nome_funzione_cpt() { register_post_type() } ?>
A questo punto, si può procedere con l’implementazione, all’interno della funzione “register_post_type()”, delle etichette e dei parametri per la creazione del CPT. Per fare questo è necessario, in primo luogo, assegnare al CPT un identificatore univoco, detto slug o post type key. Questo altro non è che una stringa che dev’essere inserita all’inizio della funzione, dopo l’apertura della parentesi tonda, tra virgolette singole e seguita da una virgola:
register_post_type('esempio',
Quindi, si può procedere con l’aggiunta dei parametri. È importante tenere a mente che alcuni di essi – in particolare “labels” e “supports” – dovranno assumere la forma di array, mentre altri potranno essere semplicemente affiancati dal valore loro assegnato. Ecco un semplice esempio di codice per la creazione di un CPT per eventi:
<?php /* Plugin Name: CPT per eventi Description: Custom Post Type per la creazione di eventi Author: vHosting Version: 1.0 */ add_action('init', 'cpt_eventi'); function cpt_eventi() { register_post_type('eventi', [ 'labels' => [ 'name' => 'Eventi', 'singular_name' => 'Evento', 'add_new' => 'Aggiungi un nuovo evento', 'add_new_item' => 'Aggiungi un nuovo elemento', 'edit_item' => 'Modifica evento', 'featured_image' => 'Immagine in evidenza', 'not_found' => 'Evento non trovato', 'menu_name' => 'Eventi' ], 'public' => true, 'has_archive' => true, 'show_in_rest' => false, 'supports' => ['title', 'editor', 'author'], 'taxonomies' => ['category'], 'show_in_menu' => true, 'capability_type' => 'post', 'hierarchical' => false, 'publicly queryable ' => true ]); } ?>
Attivare il CPT plugin
Se si è scelto di realizzare il CPT come un vero e proprio plugin, questo verrà aggiunto nella sezione dei plugin presente nella dashboard di WordPress. Per iniziare a utilizzarlo, è necessario attivarlo. Andare quindi su “Plugin / Plugin installati”, individuare quello del nuovo Custom Post Type e premere il pulsante “Attiva”.
A questo punto, laddove, come nell’esempio proposto, fosse stato impostato “show_in_menu” su “true”, comparirebbe una nuova voce di menu nella barra laterale dell’area di amministrazione di WordPress:
Premendo “Aggiungi un nuovo elemento”, si accede alla schermata di creazione del contenuto, la quale, nel nostro caso, avendo scelto di impostare “show_in_rest” su “false”, non mette a disposizione Gutenberg, bensì l’editor classico.
Questo succede anche se tale parametro viene omesso. Se si desidera attivare l’editor a blocchi, è sufficiente assegnare a “show_in_rest” il valore “true”.
Nel caso in cui il codice fosse stato aggiunto direttamente al file function.php, non sarebbe necessario attivare il CPT, il quale, dopo il salvataggio delle modifiche, risulterebbe immediatamente disponibile.
Creare CPT con i plugin precostruiti
WordPress offre un’ampia scelta di plugin per la creazione di CPT. Per individuare quello giusto per le proprie esigenze è necessario valutare le opzioni messe a disposizione, i parametri personalizzabili, la curva di apprendimento e, naturalmente, fattori come la compatibilità con la versione di WordPress in uso, la frequenza degli aggiornamenti, il costo.
Tra i migliori per semplicità di utilizzo e completezza rientrano Custom Post Type UI, Pods e ACF. Caratterizzati da interfacce intuitive e facili da navigare, permettono di personalizzare ampiamente i CPT e di creare nuove tassonomie. Pods e ACF mettono inoltre a disposizione una comoda funzione per generare in pochi click i campi personalizzati di cui si ha bisogno e di collegarli direttamente al tipo di post senza ulteriori passaggi.
Tutti e tre i plugin possono essere installati dalla dashboard di WordPress. Per procedere, andare su “Plugin / Aggiungi plugin”, digitare nella casella di ricerca il nome del plugin che si desidera installare, quindi, dopo averlo individuato, premere “Installa ora” e poi “Attiva”.
Creare nuovi tipi di post con Custom Post Type UI
Per creare un nuovo CPT con Custom Post Type UI, procedere con l’installazione e l’attivazione, quindi individuare nel menù laterale “CPT UI” e cliccare su “Add/Edit Post Types”.
La nuova schermata è divisa in tre sezioni. La prima, denominata “Basic settings”, richiede l’inserimento obbligatorio di tre impostazioni di base, ossia dello slug (“Post Type Slug”; il valore verrà inserito nel parametro “rewrite”) e delle etichette per il singolare e il plurale (qui denominate “Singolar Label” e “Plural Label”). L’immagine sottostante mostra un esempio di slug e di etichette per la creazione di un CPT per i prodotti di un ipotetico eCommerce.
Il link “Populate additional label based on chosen labels” popola automaticamente i campi presenti nella sezione successiva (“Additional label”) e riservati alle varie etichette utilizzate per le voci di menu della dashboard di WordPress e per la pagina di modifica del post. Sebbene aiuti a risparmiare tempo, non permette di scegliere la lingua dei testi, i quali vengono creati in inglese e completati con le etichette singolari e plurali assegnate al CPT.
Se si desidera disporre di etichette totalmente in italiano o in un’altra lingua, oppure di voci più personalizzate, è necessario compilare o modificare manualmente tutti i campi.
Scorrendo la schermata verso il basso, si raggiunge la sezione riservata alle impostazioni (“Settings”). Qui è possibile impostare i parametri relativi alla visibilità del post, all’attivazione della struttura gerarchica padre-figlio, alla creazione di un archivio, nonché quelli utili per stabilire se rendere il CPT disponibile per i menù di navigazione, se generare un’interfaccia utente predefinita per la sua gestione, se mostrarlo nel menù del pannello di amministrazione e via dicendo.
Tra le varie impostazioni presenti rientrano anche “Menu Position”, utile per definire la posizione in cui si desidera compaia il CPT nel menù della dashboard, “Menu icon”, la quale permette di assegnare un’icona al Custom Post Type, “Taxonomies”, per selezionare le tassonomie che si desidera rendere disponibili per il tipo di post, e “Supports”.
Terminata la personalizzazione del CPT, premere il pulsante “Add Post Type”.
Se “Show in Menu” è stato impostato su “True”, nel menù laterale della dashboard di WordPress comparirà la voce relativa al nuovo CPT. Premendo si accede a una schermata simile a quella di pagine e articoli.
Oltre a permettere di creare nuovi CPT, Custom Post Type UI consente anche di creare nuove tassonomie da assegnare ai tipi di post personalizzati. Per fare questo, cliccare su “CPT UI / Add/Edit Taxonomies”, compilare i campi richiesti e premere “Add Taxonomy”.
Realizzare un nuovo CPT con Pods
Per creare un CPT con Pods, procedere come sempre all’installazione e all’attivazione del plugin, quindi andare su “Pods Admin / Add New”
e cliccare “Create a new Content Type”.
Nella nuova schermata
selezionare (o lasciare selezionato) “Custom Post Type (like Posts or Pages)”, quindi digitare nelle caselle “Singular Label” e “Plural Label” il nome singolare e il nome plurale che si intende assegnare alle etichette del nuovo CPT. Selezionare la casella “Content Privacy” per impostare il parametro “publicly queryable” su “true” e rendere i contenuti del CPT raggiungibili tramite URL.
Premendo “Advanced”, si visualizzano altri due parametri: “Pod Name” e “Enable Rest API”. Il primo permette di assegnare al CPT un nome che potrà essere utilizzato per richiamare l’oggetto ovunque nel tema, in WordPress o in altri codici php; il secondo, se selezionato, imposta invece il parametro “show_in_rest” su “true”, rendendo quindi utilizzabile l’editor Gutenberg.
Terminate le modifiche in questa prima schermata, premere il pulsante “Next step” per procedere con la personalizzazione del CPT. La nuova schermata divide i vari parametri e le opzioni disponibili in 8 schede:
“Fields”: permette di creare in pochi click campi personalizzati da aggiungere al CPT.
“Labels”: la scheda dedicata alla personalizzazione delle etichette
“Admin UI”: consente di decidere come e dove visualizzare il CPT nel pannello di amministrazione di WordPress
“Connections”: è la sezione che consente di associare il CPT a specifiche tassonomie, nonché di crearne di nuove
“Advanced Options”: in questa scheda si trovano parametri come “Public”, “Publicly Queryable”, “User capability”, “Hierarchical”, “Supports” e via dicendo
“Access Right”: qui è possibile abilitare, disabilitare, applicare delle restrizioni a funzionalità dinamiche come shortcode e widget
“Auto template option”: offre impostazioni per il template automatico del CPT
“REST API”: permette di abilitare o disabilitare il REST API e di modificare altre impostazioni legate a esso.
La maggior parte dei parametri e delle opzioni sono già stati visti nei paragrafi precedenti; per questo motivo, non ripeteremo dall’inizio a che cosa servono e quali selezionare in base alle proprie esigenze.
L’eccezione più evidente è costituita la scheda “Field”, la quale merita qualche attenzione in più, in quanto, come anticipato, consente di creare nuovi campi personalizzati, passaggio che non è ancora stato trattato in questa guida.
Aggiungere un campo personalizzato al CPT
I campi personalizzati – in inglese “custom fields” – sono molto utili per organizzare meglio i contenuti del post type, in quanto evitano di dover inserire tutte le informazioni all’interno del solo blocco di testo, per creare layout personalizzati, per facilitare l’uso dei filtri di ricerca e per avere a disposizione elementi riutilizzabili.
A livello di codice, essi vengono resi disponibili per il CPT includendo “custom_fields” nell’array “supports”. Questo passaggio li rende inseribili, ma non li genera. Il metodo più semplice e rapido per generarli consiste nell’utilizzare un plugin come, appunto, Pods.
Per creare un nuovo campo personalizzato con questo strumento, non si deve fare altro che posizionarsi nella scheda “Fields” e premere “Add Field”. Si aprirà la seguente finestra:
Gli unici campi obbligatori sono quelli affiancati dall’asterisco rosso, ossia “Label”, “Name” (si compila in automatico quando si digita il nome del campo), “Field Type”. Tutti gli altri sono opzionali. Tra questi rientrano:
la descrizione e la possibilità di rendere obbligatoria la compilazione del campo
le impostazioni specifiche per il campo selezionato (la seconda voce del menu laterale, la quale cambia in base al “Field Type selezionato”)
la possibilità di inserire valori multipli (“Repeatable”)
impostazioni avanzate (“Advanced”) come le classi CSS, il valore di default e la visibilità
le regole di logica condizionale, utili per far comparire uno specifico campo solo al verificarsi di specifiche condizioni
impostazioni per il REST API.
Nel semplice esempio mostrato di seguito, pensato per aggiungere un campo “data e ora” al CPT “Eventi”, sono stati compilati i campi obbligatori, è stata inserita una breve descrizione ed è stata selezionata la casella per rendere obbligatoria la compilazione del campo:
Sono inoltre state effettuate alcune scelte per quanto riguarda la personalizzazione del campo:
Infine, è stato cliccato il pulsante “Save New Field” per aggiungere il campo alla scheda “Fields” del CPT.
Se a questo punto si procede con il salvataggio del Custom Post Type – click sul pulsante “Save Pod” – e si accede alla schermata del CPT per la creazione di un nuovo contenuto, si nota subito la presenza del campo personalizzato.
ACF: come utilizzarlo per creare un nuovo CPT
L’ultimo plugin presentato in questa guida dedicata alla creazione di Custom Post Type per WordPress è anche il più noto e utilizzato tra i tre, e può contare, nel momento in cui stiamo scrivendo questa guida, su oltre 2 milioni di installazioni attive. Si tratta di ACF – Advanced Custom Fields, un plugin davvero completo e affidabile, disponibile sia in versione free sia in una ancora più ricca versione premium.
Per creare un CPT, procedere con l’installazione e l’attivazione del plugin, quindi:
andare su “ACF / Post type”
nella nuova schermata, premere uno dei due pulsanti presenti, “+ Aggiungi nuovo” o “Aggiungi post type”.
In entrambi i casi si verrà indirizzati alla seguente schermata:
Qui sono riunite tutte le etichette e i parametri personalizzabili già visti e analizzati nei precedenti paragrafi di questa guida.
Procedere con la compilazione dei primi campi, tenendo a mente che gli unici obbligatori sono quelli contrassegnati dall’asterisco rosso – quindi le etichette per il singolare e il plurale, e la chiave del post type -, e con l’impostazione dei primi due parametri, “Pubblico” (corrispondente al parametro “public”) e “Gerarchico” (parametro “hierarchical”)
Per visualizzare tutte le opzioni disponibili, cliccare sull’interruttore di “Configurazione avanzata” e portarlo sul blu.
Spostarsi tra le schede delle “Impostazioni avanzate” e personalizzare i parametri e le etichette in base alle caratteristiche che dovrà possedere il CPT. È utile notare che le etichette vengono popolate automaticamente dopo l’inserimento di quelle per il singolare e il plurale.
Terminata la personalizzazione dei parametri disponibili, premere il pulsante “Salva le modifiche”.
Il plugin genera immediatamente il nuovo CPT, aggiungendolo, se si è impostato il parametro necessario, nel menù laterale, e permette di selezionare subito i link per compiere le operazioni successive, ossia per aggiungere campi personalizzati o collegare gruppi di campi, creare tassonomie, duplicare il post type o crearne subito un altro.
Nel caso in cui si necessitasse di creare uno o più campi personalizzati, non si dovrebbe fare altro che cliccare su “Aggiungi campi” per accedere alla seguente schermata:
Per creare un campo molto basilare, ad esempio pensato per aggiungere il campo del prezzo o quello per la scheda tecnica al CPT “Prodotto”, ci si può limitare a scegliere il “Tipo di campo”, a digitare un’etichetta identificativa (“Nome del campo” viene compilato in automatico) e a controllare che nella sezione “Impostazioni” del gruppo di campi sia inserita la regola di posizionamento corretta. In questo caso, ad esempio, la regola dovrebbe essere: “Post type” “è uguale a” “Prodotto”.
Nel caso in cui si necessiti invece di personalizzare maggiormente il custom field, si potrebbe navigare tra le schede e impostare i parametri di validazione – i quali cambiano a seconda del tipo di campo scelto -, le istruzioni per gli editori del contenuto, il testo segnaposto, gli elementi da anteporre o posporre al campo (ad esempio, nel caso del prezzo, è possibile anteporre o posporre il simbolo della moneta in uso), le regole di logica condizionale.
Per finire, premere il pulsante “Salva le modifiche”.
Ecco come compare la pagina di creazione di un contenuto per il CPT “Prodotto” al quale sono stati assegnati due campi personalizzati: “Prezzo” e “Scheda prodotto”.