Cos’è un custom post type (CPT) e come lo registri in WordPress?

Cosa è il custom post type (CPT) di WordPress e come si registra?

È un tipo di contenuto personalizzato che possiamo creare per estendere le funzionalità di WordPress, oltre ai classici post e pagine, sfruttando tutte le funzionalità base di WP.

Ad esempio:

  • Prodotti (che viene usato da WooCommerce)
  • Portfolio
  • Eventi
  • Testimonianze

I CPT ti permettono di organizzare i contenuti in modo più logico e professionale, mantenendoli separati dagli articoli o dalle pagine.

Come registrare un CPT in WordPress?

Puoi registrare un CPT in due modi: tramite plugin o tramite codice.

Tramite plugin

Esistono plugin gratuiti come Custom Post Type UI che ti permettono di creare e configurare un CPT con pochi clic, senza scrivere codice.

Tramite codice

È possibile creare nuovi custom post type usando la funzione register_post_type() all’interno del file functions.php del tuo tema (o meglio, in un plugin personalizzato)..

Ecco un esempio:

function crea_portfolio_cpt() {
    $labels = array(
        'name' => 'Portfolio',
        'singular_name' => 'Progetto',
    );

    $args = array(
        'labels' => $labels,
        'public' => true,
        'has_archive' => true,
        'menu_icon' => 'dashicons-portfolio',
        'supports' => array('title', 'editor', 'thumbnail'),
    );

    register_post_type('portfolio', $args);
}
add_action('init', 'crea_portfolio_cpt');

Con questo codice:

  • Crei un nuovo post type chiamato Portfolio.
  • Attivi il supporto per titolo, editor e immagine in evidenza.
  • Aggiungi un’icona personalizzata al menu di WordPress (‘dashicons-portfolio‘).

La registrazione dei custom post type dovrebbe avvenire con l’hook init.

È possibile associare tassonomie personalizzate usando l’argomento taxonomies.

Se non lo si usa al momento della registrazione del CPT, allora WP non riconoscerà la tassonomia come associata quando verranno usati filtri come parse_query o pre_get_posts, e potrebbe portare a comportamenti non prevedibili.

È importante notare che anche se associ una tassonomia personalizzata durante la creazione del post type, devi comunque registrarla e definirla esplicitamente utilizzando register_taxonomy().

Considerazioni sul CPT

Ecco altre informazioni che ti potrebbero tornare utile.

  • L’identificatore del tuo CPT non deve superare i 20 caratteri
  • Usa un nome specifico con un prefisso tuo, così da evitare conflitti con plugin famosi.
  • Non usare wp_ come prefisso per il CPT perchè è riservato al core di WP.
  • Il CPT ha un suo permalink: https://sito.it/mio_cpt/wporg-is-awesome
  • È possibile modificare il permalink del CPT usando l’argomento rewrite nel register_post_type.

Perché usare un CPT?

Creare un custom post type è utile quando i contenuti che pubblichi non rientrano perfettamente nei post o nelle pagine.

Oltre ad avere maggior ordine, puoi aggiungere tag, categorie e tassonomie personalizzate per i singoli CPT, e puoi sfruttare la versatilità dei custom fields, meta box ed avere un template personalizzato.

Conclusione

I custom post type sono uno degli strumenti più potenti di WordPress.

Ti consentono di estendere in modo nativo le funzionalità di WordPress, ideale per creare un sito altamente personalizzato, capace di gestire contenuti complessi senza appoggiarsi a soluzioni esterne.

Se non sei pratico di codice, un plugin può essere un ottimo punto di partenza; se invece vuoi pieno controllo, registrare un CPT via functions.php o creando un plugin personalizzato ti dà la massima libertà.

Sponsor

Vhosting
themeforest