Come creare Custom Post Type in WordPress

Pubblicato in data 30 Ottobre 2019 Categoria Consigli WordPress

custom post type wordpress

A volte i siti web di nicchia possono avere esigenze di organizzazione dei contenuti che non sono soddisfatte dai post type nativi di WordPress.

Per questo motivo, potresti esserti domandato se ci sono opzioni alternative quando si tratta di organizzare e visualizzare i tuoi contenuti.

I Custom Post Type (CPT) sono un’opzione di WordPress che ti consente di creare un nuovo tipo di contenuto e personalizzarlo come preferisci.

Questo può essere molto utile se gestisci un sito web che presenta elementi di contenuto oltre ai post e alle pagine tradizionali.

In questo articolo, spiegheremo i Custom Post Type WordPress e le loro strutture e forniremo una guida dettagliata su come crearli sia manualmente che usando un plugin.

Se sei pronto, cominciamo!

Cosa sono i custom post type di WordPress?

Il tuo database WordPress crea automaticamente una tabella wp_posts quando installi il CMS sul tuo server web.

Questa tabella include una colonna post_type , in cui sono memorizzate le informazioni di cui parleremo.

WordPress viene fornito con diversi tipi di post che probabilmente conoscerai già :

  • Post: il tradizionale post “blog” che appare in ordine cronologico inverso e può essere assegnato a categorie e tag.
  • Pagine: possono essere strutturate con relazioni padre-figlio per creare una gerarchia, ma in genere non vengono assegnate categorie.
  • Menu di navigazione : un elenco di collegamenti che aiutano i visitatori a navigare nel tuo sito web.
  • Revisione: mantengono un registro o una cronologia delle modifiche agli altri tipi di post, nel caso in cui sia necessario ripristinare una versione precedente.
  • Allegato: qualsiasi file multimediale che aggiungi ai tuoi post o alle tue pagine viene anche archiviato come un post type e i dati dei tuoi file di immagini o video vengono memorizzati nella tabella wp_postmeta.

Inoltre, WordPress include due principali strutture di tassonomia. Categorie e tag sono il modo principale di assegnare post a diversi gruppi.

Sebbene sia possibile assegnare categorie e tag a un CPT, potrebbe essere necessario creare anche tassonomie personalizzate, al fine di organizzare meglio il contenuto.

Un esempio di come ciò potrebbe applicarsi è con i prodotti in un negozio di e-commerce.

Puoi creare un CPT “Prodotti” con custom fields per informazioni come prezzi, quantità e così via. Quindi, con una tassonomia personalizzata puoi creare opzioni per categorizzare i tuoi prodotti in qualsiasi modo tu possa immaginare.

Come creare custom post type WordPress – Metodo con plugin (in 4 passaggi)

Il modo più semplice per creare Custom Post Type in WordPress è con un plugin. Vediamo come funziona questo processo.

Passaggio 1: scarica un plugin dedicato

Per questo esempio, utilizzeremo il plugin Pod – custom ciontent types and fields :

Pods plugin per custom post type e custom fields WordPress

Questo strumento ti consente di creare e personalizzare facilmente i tuoi tipi di post e tassonomie.

Una volta installato il plugin tramite il menù WordPress Plugin > Aggiungi nuovo, ti consigliamo di attivarlo.

Passaggio 2: aggiungi un nuovo Custom Post Type

Successivamente, troverai una nuova opzione di amministrazione “Pods” nel menu di amministrazione.

Da lì puoi selezionare Aggiungi nuovo e scegliere tra la creazione di un nuovo tipo di contenuto o l’estensione di uno esistente :

Aggiunta di un nuovo custom post type dall'amministrazione di Pods

Per questo esempio, selezioneremo Crea nuovo per dimostrare le opzioni di configurazione disponibili.

Passaggio 3: configura il tuo nuovo post type

Nella pagina Configura , compila le opzioni del nuovo tipo di contenuto:

Configura la pagina delle impostazioni di pods

Qui puoi inserire etichette singolari e plurali per il tuo nuovo tipo di contenuto, nonché selezionare il tipo di contenuto personalizzato che stai creando.

Può essere un post type, una tassonomia o una pagina di impostazioni.

Passaggio 4: crea custom field

Dopo aver creato le etichette, verrai indirizzato a un’altra pagina delle impostazioni in cui puoi aggiungere, tra le altre cose, nuovi campi:

Pagina delle impostazioni di pods custom post type plugin per WordPress

Come puoi vedere sopra, nel nostro CPT per i prodotti abbiamo aggiunto un campo personalizzato per Prezzo.

Dopo aver completato queste impostazioni, è possibile selezionare Salva pod. Ora sarai in grado di trovare il Custom Post Type del prodotto nel menu principale di WordPress.

Da lì puoi accedere a Prodotto> Aggiungi nuovo e iniziare a creare contenuti utilizzando questo tipo di post:

esempio di nuovo custom post type in Pods

Nell’editor dei post vedrai anche un pulsante Pods Shortcode che ti consente di aggiungere informazioni sul campo da una varietà di elementi Pods.

Tutti i campi personalizzati creati in precedenza verranno visualizzati sotto la finestra di modifica dei post per un facile accesso:

Sezione "Altri campi" nel plugin Pods

Dopo aver modificato i tuoi contenuti, puoi salvare e pubblicare il tuo custom post type come faresti normalmente in WordPress.

Come creare un Custom Post Type WordPress – Metodo manuale (in 3 passaggi)

Puoi creare un CPT anche manualmente modificando il file functions.php del tuo sito web.

Ti consigliamo di fare una copia del tuo file o eseguire il backup del tuo sito prima di iniziare.

Passaggio 1: individua e apri il tuo file functions.php

Puoi accedere ai file del tuo sito tramite il file manager del tuo host web in cPanel o con un’applicazione FTP (File Transfer Protocol) come FileZilla.

Una volta connesso, accederai alla cartella principale di WordPress, quindi a wp-content > temes > il-tuo-tema:

il file Functions.php

È importante notare che ogni tema ha il suo file function.php . Se scegli di utilizzare il processo manuale per la creazione di Custom Post Type, li perderai se cambi il tema.

Se vuoi assicurarti che i tuoi custom post siano conservati in ogni caso, è meglio usare il metodo plugin.

Passaggio 2: inserire il codice per il Custom Post Type

La quantità di dettagli che è possibile includere in un Custom Post Type è piuttosto vasta.

Useremo un semplice esempio per dimostrare come è possibile creare un CPT “Prodotto”.

Vedrai gli stessi tipi di opzioni e impostazioni di etichette disponibili nelle impostazioni del metodo plugin precedente :

//* Create Custom Post Type
add_action( 'init', 'add_custom_post_type');
function add_custom_post_type() 
{
     register_post_type( 'miei_prodotti',
           array(
               'labels' => array(
                    'name' => ‘Prodotti’,
                    'singular_name' => ‘Prodotto’,
                    'add_new'  => ‘Aggiungi Nuovo Prodotto’,
                    'add_new_item' => ‘Aggiungi Nuovo Elemento’,
                    'edit_item' => 'Modifica Prodotto',
                    'new_item' => ‘Nuovo Prodotto’,
               ),
               'public' => true,
               ‘has_archive => true,
               ‘rewrite’ => array(
                         ‘Slug’ => ‘prodotti’
               ),
               'supports' => array( 
                         'title', 
                         'editor', 
                         'author', 
                         'thumbnail', 
                         'excerpt', 
                         'trackbacks', 
                         'custom-fields', 
                         'revisions', 
                         'page-attributes' 
               ), 
          )
     );

}

Ti consigliamo di aggiungere questo codice alla fine del file functions.php nella cartella del tema del tuo sito.

Naturalmente, ci sono molte altre opzioni che puoi aggiungere nel tuo codice CPT, che puoi trovare su siti di risorse come GitHub .

 

Passaggio 3: aggiungi il tuo site text domain

Se il tuo sito è pronto per la traduzione e vuoi che lo sia anche il tuo Custom Post Type, dovrai individuare il text domain del tuo sito e assicurarti che sia incluso nel codice che usi per il tuo CPT.

Puoi trovare il text domain del tuo sito nel file style.css del tuo tema:

il file style.css

Una volta aperto style.css , troverai le informazioni sul “text domain” nell’intestazione del file:

informazioni sul text domain nel file style.css

È quindi possibile fare riferimento al text domain nelle personalizzazioni.

d esempio, nella matrice “etichette” dal codice di esempio sopra, aggiungere il text domain dopo “Prodotti”:

'name' => ‘Prodotti’, ‘twentynineteen’,

Dovresti aggiungere il text domain a tutte le etichette nel tuo Custom Post Type, al fine di renderlo traducibile.

Visualizzazione dei Custom Post Type sul tuo sito WordPress (2 metodi)

Una volta creato il tuo Custom Post Type , hai un paio di opzioni per mostrarlo sul tuo sito.

Vediamo i due metodi che puoi usare.

1. Utilizzare un template archivio predefinito

Un modo per assicurarsi che i tuoi CPT appaiano sul tuo sito è adeguare il codice che usi per crearli.

È possibile includere la seguente stringa nell’array:

‘has_archive’ => true,

Una volta fatto questo, il tuo Custom Post Type avrà la sua pagina di archivio basata sul template di pagina di archivio del tuo tema.

È quindi possibile accedere alla nuova pagina dell’archivio CPT utilizzando l’URL www.iltuosito.it/customposttype .

2. Visualizzali sulla tua front page

Uno dei vantaggi della creazione di CPT è la capacità di mantenere determinati contenuti separati dai normali post del blog.

Se vuoi assicurarti che questo contenuto sia visualizzato nella tua prima pagina, tuttavia, dovrai aggiungere un piccolo snippet di codice al file functions.php del tuo tema:

// Display Custom Post Types on home page, add to functions.php

    add_filter( 'pre_get_posts', 'my_get_posts' );

    function my_get_posts( $query ) {

        if ( is_home() && $query->is_main_query() )
            $query->set( 'post_type', array( 'prodotti' ) ); 
//add cpt, in this case 'products' to array
        
        return $query;
    }

Naturalmente dovrai personalizzare questo snippet per includere il nome del tuo Custom Post Type e gli altri dettagli chiave.

Conclusioni

I Custom Post Type sono un modo dinamico per personalizzare ulteriormente il tuo sito WordPress e fornire contenuti ben organizzati ai visitatori.

In Creativemotions offriamo le migliori risorse per gli utenti e possiamo aiutarti a creare un’esperienza digitale incredibile per i tuoi clienti.