Cosa sono i Custom Post Type in WordPress e perché usarli
07/06/25
7 minuti

Cosa sono i Custom Post Type in WordPress e perché usarli

Quando pensi a WordPress, probabilmente pensi a “post” e “pagine”. Ma se stai costruendo un sito più complesso — come un portfolio, un sito di ricette, un catalogo prodotti o un’area eventi — ti accorgerai presto che post e pagine non bastano più.

Ed è qui che entrano in gioco i Custom Post Type, o CPT: tipi di contenuto personalizzati che ti permettono di creare strutture su misura per organizzare e gestire i contenuti esattamente come vuoi tu.

In questa guida ti spiego:

  • Cosa sono esattamente i Custom Post Type
  • In cosa differiscono da post e pagine
  • Quando conviene usarli
  • Come crearli con codice o plugin

Pronto a portare WordPress a un livello superiore? Iniziamo!

Cosa sono i Custom Post Type in WordPress

Definizione tecnica

I Custom Post Type (CPT) sono tipi di contenuto personalizzati che puoi creare in WordPress oltre ai due già esistenti: post e pagine.

A livello tecnico, WordPress tratta ogni contenuto come un “post type”. I principali post type predefiniti sono:

  • post → per gli articoli del blog
  • page → per le pagine statiche
  • attachment → per i file media
  • revision → per le versioni salvate
  • nav_menu_item → per le voci di menu

Con i Custom Post Type puoi crearne di nuovi, ad esempio:

  • portfolio per i tuoi progetti
  • ricetta per un sito di cucina
  • evento per un calendario
  • prodotto per un e-commerce

Questi contenuti avranno un’area propria nella dashboard, separata da “Articoli” e “Pagine”, con archivi e modelli personalizzabili.

Differenze tra post, pagine e CPT

CaratteristicaPostPaginaCustom Post Type
Archivi abilitati✅ Sì❌ No✅ Personalizzabili
Categoria/tag✅ Sì❌ No✅ A scelta
Ordine gerarchico❌ No✅ Sì✅ Personalizzabile
Scopo principaleContenuti dinamiciContenuti staticiContenuti su misura
URL personalizzabile✅ Con i permalinks✅ Completamente

Esempi pratici di uso dei Custom Post Type

Ecco alcuni esempi concreti di come vengono usati i CPT in progetti reali:

  • Portfolio → mostrare progetti con descrizioni, immagini e tecnologie usate
  • Corsi → gestire un catalogo formativo con moduli, durata, istruttore
  • Eventi → elencare date, orari, luogo e stato dell’evento
  • FAQ → creare una sezione domande/risposte gestibile separatamente
  • Recensioni → raccogliere feedback con voti, testimonianze e profili

📌 In tutti questi casi, usare i CPT permette una migliore organizzazione del backend e una navigazione più chiara per l’utente finale.

Quando e perché usare i Custom Post Type

Vantaggi nella gestione dei contenuti

I Custom Post Type sono fondamentali quando hai bisogno di organizzare contenuti diversi in modo indipendente e più efficiente. Rispetto a usare solo post e pagine, i CPT ti permettono di:

  • Separare logicamente i contenuti: non tutto deve finire negli “Articoli”
  • Evitare confusione nella dashboard, soprattutto se gestisci molti tipi di contenuti
  • Creare template personalizzati per ogni tipo di contenuto
  • Associare tassonomie (categorie, tag o personalizzate) specifiche a ogni tipo
  • Avere URL, archivi e filtri dedicati per ogni sezione del sito

📌 In pratica, i CPT rendono WordPress scalabile e più simile a un vero CMS professionale.

Quando conviene crearne uno

Puoi considerare la creazione di un Custom Post Type quando:

  • Hai contenuti che non sono né articoli né pagine (es. progetti, testimonianze, schede prodotto, sedi, ricette…)
  • Vuoi filtrare o navigare facilmente contenuti di uno stesso tipo
  • Hai bisogno di archivi separati e URL distinti (es. /portfolio, /eventi)
  • Vuoi usare tassonomie personalizzate per migliorare l’esperienza utente e la SEO

Situazioni tipiche in cui i CPT fanno la differenza

  • Un sito aziendale con una sezione “Team”, “Clienti” o “Case Study”
  • Un blog tematico con una sezione “Guide” separata dagli articoli standard
  • Un sito di notizie con aree dedicate a “Podcast”, “Recensioni”, “Comunicati stampa”
  • Un e-learning con contenuti divisi tra “Corsi”, “Lezioni”, “Quiz”

In tutti questi scenari, creare un CPT migliora non solo la struttura tecnica, ma anche l’esperienza dell’utente e la gestione quotidiana del sito.

Come creare un Custom Post Type

Creazione manuale con register_post_type()

Se hai dimestichezza con il codice, puoi creare un Custom Post Type manualmente modificando il file functions.php del tuo tema (o, meglio, tramite un plugin personalizzato).

Ecco un esempio base per creare un CPT chiamato “portfolio”:

function crea_post_type_portfolio() {
  register_post_type('portfolio',
    array(
      'labels' => array(
        'name' => 'Portfolio',
        'singular_name' => 'Progetto'
      ),
      'public' => true,
      'has_archive' => true,
      'rewrite' => array('slug' => 'portfolio'),
      'show_in_rest' => true, // abilitato per Gutenberg
      'supports' => array('title', 'editor', 'thumbnail')
    )
  );
}
add_action('init', 'crea_post_type_portfolio');

Creazione con plugin (es. Custom Post Type UI)

Se preferisci non toccare il codice, puoi usare un plugin affidabile come Custom Post Type UI. È gratuito e molto intuitivo.

Custom Post Type UI Plugin

Passaggi principali:

  1. Installa e attiva il plugin
  2. Vai su CPT UI → Aggiungi un nuovo tipo di contenuto
  3. Inserisci:
    • Slug (es. portfolio)
    • Nome singolare e plurale
    • Impostazioni di visibilità e supporto (editor, immagine, ecc.)
  4. Salva e il tuo CPT sarà disponibile nella dashboard!

🎯 Questo metodo è ideale per chi vuole velocità e flessibilità, anche senza conoscenze tecniche.

Personalizzazione delle etichette e visibilità nella dashboard

Sia via codice che via plugin, puoi personalizzare ogni aspetto del CPT:

  • Nome nel menu (es. “Eventi” invece di “Articoli”)
  • Icona nel menu laterale (dashicons)
  • Supporto per metabox, immagini, excerpt, commenti…
  • REST API attivata o meno, utile se lavori con Gutenberg o headless WordPress

📌 La personalizzazione fine ti consente di adattare WordPress a qualsiasi esigenza, senza dover cambiare CMS.

Come usare i Custom Post Type nei template

Archivi personalizzati (archive-{post_type}.php)

Quando crei un Custom Post Type, WordPress genera automaticamente un archivio, raggiungibile all’URL:

https://tuosito.it/nome-post-type/

Per personalizzarne l’aspetto, puoi creare un file archive-nomeposttype.php nel tuo tema. Ad esempio, se il tuo CPT si chiama portfolio, crea:

archive-portfolio.php

In questo template puoi:

  • Personalizzare il layout degli articoli
  • Cambiare la disposizione degli elementi (immagine, titolo, excerpt…)
  • Aggiungere filtri, breadcrumb, call to action

📌 Se non esiste un template specifico, WordPress userà archive.php o index.php come fallback.

Loop personalizzati con WP_Query

Per mostrare i contenuti di un CPT in qualsiasi parte del sito (homepage, widget, landing page), puoi usare WP_Query. Ecco un esempio:

$args = array(
  'post_type' => 'portfolio',
  'posts_per_page' => 6
);
$query = new WP_Query($args);

if ($query->have_posts()) :
  while ($query->have_posts()) : $query->the_post();
    the_title('<h2>', '</h2>');
    the_excerpt();
  endwhile;
  wp_reset_postdata();
endif;

✅ Con questo codice puoi inserire progetti, eventi, prodotti ovunque nel sito, anche con filtri avanzati.

Tassonomie personalizzate associate ai CPT

I Custom Post Type diventano ancora più potenti se associati a tassonomie personalizzate (come “Genere”, “Tipologia”, “Autore”…).

Quando registri un CPT, puoi dichiarare le tassonomie da usare:

'taxonomies' => array('category', 'post_tag', 'tipologia')

📌 Questo ti permette di filtrare, organizzare e indicizzare meglio i contenuti. Puoi anche creare template dedicati come taxonomy-tipologia.php per visualizzare gli archivi delle tassonomie.

Consigli e best practice

Nominare bene i Custom Post Type

Quando crei un CPT, scegli uno slug chiaro, breve e descrittivo, in minuscolo e senza spazi. Evita nomi generici o ambigui.

Buoni esempi:

  • portfolio
  • eventi
  • ricette
  • faq

Da evitare:

  • contenuto1
  • cosevarie
  • tipo-a

📌 Lo slug influenzerà anche la struttura URL (tuosito.it/portfolio), quindi pensalo anche in ottica SEO e UX.

Gestire la compatibilità con SEO e permalink

Un CPT ben fatto è anche SEO-friendly. Ecco cosa fare:

  • Attiva gli archivi solo se ti servono (usa 'has_archive' => true)
  • Usa un plugin SEO (Yoast, Rank Math) per gestire title e meta tag dei CPT
  • Imposta permalink chiari (/portfolio/progetto-nome)
  • Evita duplicazioni con articoli o pagine esistenti
  • Aggiungi breadcrumb e markup strutturato (schema.org) se possibile

📌 Molti plugin SEO ti permettono di includere o escludere i CPT dalla sitemap, dai risultati di ricerca e dalla breadcrumb: usali con criterio.

Quando NON usare un Custom Post Type

I CPT sono utilissimi, ma non sempre necessari. Ecco alcuni casi in cui è meglio evitare di crearne uno:

  • Hai pochi contenuti (es. 1–2 articoli): puoi usare una semplice categoria
  • I contenuti sono già gestibili tramite tag o campi personalizzati
  • Non hai bisogno di un archivio separato né di un template dedicato
  • Il contenuto non ha una struttura distinta o ricorrente

📌 Ricorda: ogni CPT è una struttura nuova da gestire, quindi crea solo ciò che ha un senso funzionale e informativo.

I Custom Post Type sono uno degli strumenti più potenti di WordPress per trasformare il tuo sito da semplice blog a CMS avanzato, organizzato e scalabile.

Abbiamo visto che:

✅ I CPT ti permettono di creare contenuti su misura per qualsiasi progetto
✅ Puoi usarli per gestire aree tematiche distinte (portfolio, eventi, corsi, ecc.)
✅ Possono essere creati a mano o con plugin, e personalizzati nei minimi dettagli
✅ Se usati con criterio, migliorano la struttura del sito e la SEO

💡 Il consiglio finale? Non creare CPT a caso. Parti sempre da una domanda chiave:
“Questo tipo di contenuto merita davvero una struttura separata?”
Se la risposta è sì, il Custom Post Type è lo strumento giusto.


Hai bisogno di un sito web moderno e funzionale?
Richiedilo Ora!