Backup di WordPress con il plugin Duplicat...
Ti spiego in modo semplice come usare il plugin Duplicator per fare una copia di backup di WordPress...
Un custom post type in WordPress è un tipo di contenuto personalizzato che ti permette di aggiungere e gestire dati specifici sul tuo sito, separati dai post e pagine standard. È simile a un post normale, ma può avere caratteristiche extra e un template di presentazione specifico. Alcuni dei post type di default di WordPress sono, ad esempio, articoli (post), pagine (page) o allegati (attachment). Un custom post type può rappresentare invece Libri, Cantanti, Film, Prodotti o qualunque altra entità si possa astrarre.
Capire cos’è un custom post type e come gestirli è fondamentale nella creazione di siti WordPress e, più nello specifico, di temi WordPress. Il primo step è ragionare sui tipi di contenuto che un determinato sito web deve andare a gestire e quali informazioni raccogliere.
L’articolo che stai leggendo entra un po’ nel tecnico, ti spiego cos’è un custom post type, come creare un custom post type da aggiungere al tuo template WordPress con relativo codice e come aggiungere tassonomie (come categorie o tag) per raggruppare determinati tipi di contenuto in archivi in modo che sia tutto organizzato e pulito.
Vediamo cos’è un custom post type (CPT) in WordPress: è un tipo di contenuto personalizzato che puoi creare e gestire sul tuo sito web, oltre ai post e pagine standard già disponibili in WordPress. I CPT offrono una struttura di organizzazione più flessibile per i tuoi contenuti, permettendoti di separare e gestire facilmente diversi tipi di contenuti sul tuo sito.
Sono il cuore pulsante della creazione di template WordPress dato che ogni tema – più o meno specifico che sia – porta con se tipi di contenuto differenti.
Normalmente, se vuoi realizzare un sito web professionale, lo organizzi come si deve con le giuste entità e non fai tutto solo tramite articoli e pagine. Lo dico perché ho visto più di qualcuno lavorare così e sono intervenuto in seno alla manutenzione, poco alla volta, per ridurre disordini e plugin e lavorare di codice. Chiusa parentesi.
Qualunque tipo di contenuto in WordPress avere con se dati e informazioni che vengono definiti meta dati o, più semplicemente, meta. Questi possono essere:
I sopra citati meta sono comuni un po’ a tutti i post type di WordPress, siano di default o custom. Nel creare un custom post type, va da sé che quel tipo di contenuto possa avere associati i più diversi tipi di dati e informazioni (meta) a definirlo. Basti pensare agli esempi fatti all’inizio dell’articolo: i dati che descrivono un libro sono diversi da quelli di un cantante, un film, un servizio o quanto altro ancora.
Prima di dirti come creare un custom post type vediamo alcuni esempi per aiutarti a capire meglio cos’è un custom post type, essendo il mattone primo su cui si fonda il nostro amato CMS. La logica di base di WordPress è qui. Ecco qualche esempio di custom post type WordPress con relativi meta a definirlo (esclusi quelli comuni a tutti, ndr):
Creare un custom post type da aggiungere al tuo tema WordPress è abbastanza semplice, se sai dove mettere le mani. Nello specifico devi includere il seguente frammento di codice nel file functions.php del template. Il mio è solo un esempio, modificalo come meglio si adatta alla tua situazione. Il codice è comprensivo di commenti così che tu sappia cosa e come modificare un custom post type.
Per andare poi ad arricchire le informazioni di ciascun tipo di contenuto creato puoi aggiungere campi personalizzati in facilità con il plugin ACF – Advanced Custom Fields. È gratis e svolge il compito alla perfezione. Non è argomento di questo articolo ma ti consiglio di darci un occhio.
Per approfondire: 9 plugin WordPress che devi usare per forza
<?php
register_post_type('film', // nome del custom post type
// definisco le varie etichette da mostrare nei menù
array('labels' => array(
'name' => 'Film', // nome, al plurale, dell'etichetta del post type.
'singular_name' => 'Film', // nome, al singolare, dell'etichetta del post type.
'all_items' => 'Tutti i Film', // testo nei menu che indica tutti i contenuti del post type
'add_new' => 'Aggiungi nuovo', // testo del pulsante Aggiungi.
'add_new_item' => 'Aggiungi nuovo Film', // testo per il pulsante Aggiungi nuovo post type
'edit_item' => 'Modifica Film', // testo modifica
'new_item' => 'Nuovo Film', // testo nuovo oggetto
'view_item' => 'Visualizza Film', // testo per visualizzare
'search_items' => 'Cerca Film', // testo per la ricerca
'not_found' => 'Nessun Film trovato', // testo se non trova nulla
'not_found_in_trash' => 'Nessun Film trovato nel cestino', // testo se non trova nulla nel cestino
'parent_item_colon' => ''
), // fine dell'array delle etichette del menu
'description' => 'Raccolta di Film del portale', // descrizione del post type
'public' => true, // definisce se il post type sia visibile sia da front-end che da back-end
'publicly_queryable' => true, // definisce se possono essere fatte query da front-end
'exclude_from_search' => false, // esclude (false) il post type dai risultati di ricerca
'show_ui' => true, // definisce se deve essere visualizzata l'interfaccia di default nel pannello di amministrazione
'show_in_rest' => true,
'query_var' => true,
'menu_position' => 5, // definisce l'ordine in cui comparire nel menù di amministrazione a sinistra
'menu_icon' => 'dashicons-format-video', // imposta l'icona da usare nel menù per il post type
'rewrite' => array('slug' => 'film', 'with_front' => false), // specificare uno slug per le URL
'has_archive' => true, // definisci se abilitare la generazione di un archivio (tipo archive-film.php)
'capability_type' => 'post', // definisci se si comporterà come un post o come una pagina
'hierarchical' => false, // definisci se potranno essere definiti elementi padri di altri
// la riga successiva definisce quali elementi verranno visualizzati nella schermata di creazione del post
'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'sticky')
) // fine delle opzioni
); // fine della registrazione
Tra le varie informazioni (meta) che possono descrivere uno o più post type in WordPress ci sono le tassonomie, come tag e categorie per quanto riguarda – ad esempio – gli articoli di un blog.
Una tassonomia in WordPress è un modo per raggruppare post e contenuti personalizzati in base a determinate caratteristiche comuni, normalmente indicate come argomento o parola chiave. Categorie e tag sono esempi di tassonomie predefinite in WordPress. Per capire meglio cosa sono le tassonomie a livello concettuale ti consiglio di leggere l’articolo qui di seguito. Non vorrei ti ritrovassi con un piano editoriale inutilmente confuso perché non sai bene come funziona tutto, alla base.
Per approfondire: che differenza c’è tra categorie e tag in WordPress?
Proseguo con l’esempio di prima. Visto come creare un post type, ora andiamo a creare una tassonomia (custom taxonomy) da associare al nostro CPT Film. La tassonomia sarà categoria-film. Analogamente a quanto fatto prima, aggiungi il codice nel file functions.php del tuo tema WordPress o eventuale (e sempre caldamente consigliato per non dire obbligatorio) child theme.
// Creiamo la nostra funzione che definirà la tassonomia personalizzata
function taxonomy__categoria_film() {
// Definiamo il nome della nostra tassonomia personalizzata
$taxonomy = 'categoria-film';
// Definiamo a quale tipo di post sarà associata la tassonomia
$object_type = 'film';
// Creiamo un array di etichette per la nostra tassonomia personalizzata
$labels = array(
'name' => 'Categoria Film', // nome, al plurale, dell'etichetta della tassonomia.
'singular_name' => 'Categoria Film', // nome, al singolare, dell'etichetta della tassonomia.
'search_items' => 'Cerca Categoria Film', // testo per la ricerca
'all_items' => 'Tutte le categorie Film', // testo nel menu che indica tutte le tassonomie
'parent_item' => 'Categoria Padre', // testo per l'elemento padre
'parent_item_colon' => 'Categoria Padre:', // testo per l'elemento padre con due punti
'update_item' => 'Aggiorna Categoria Film', // testo per l'aggiornamento
'edit_item' => 'Modifica Categoria Film', // testo per la modifica
'add_new_item' => 'Aggiungi Categoria Film', // testo per aggiungere nuovo elemento
'new_item_name' => 'Nuovo nome Categoria Film', // testo per il nuovo nome dell'elemento
'menu_name' => 'Categoria Film' // nome nel menu di amministrazione
);
// Creiamo un array di argomenti per la nostra tassonomia personalizzata
$args = array(
'labels' => $labels, // inseriamo le etichette che abbiamo definito sopra
'hierarchical' => true, // definisce se la tassonomia sarà gerarchica (come le categorie) o non gerarchica (come i tag)
'show_in_rest' => true, // definisce se la tassonomia deve essere visibile nella REST API
'show_ui' => true, // definisce se deve essere visualizzata l'interfaccia nel pannello di amministrazione
'show_in_nav_menus' => true, // definisce se deve essere visibile nei menu di navigazione
'public' => true, // definisce se la tassonomia è pubblica e può essere utilizzata dai visitatori/front-end del sito
'show_admin_column' => true, // definisce se deve essere visibile una colonna nel pannello di amministrazione
'query_var' => true, // definisce se può essere utilizzata nelle query di WordPress
'rewrite' => array('slug' => 'categoria-film') // definisce lo slug per le URL
);
// Questa funzione registra la nostra tassonomia personalizzata con WordPress
register_taxonomy($taxonomy, $object_type, $args);
}
// Questa azione assicura che la funzione venga eseguita durante l'inizializzazione di WordPress
add_action('init','taxonomy__categoria_film');
Ed eccoci giunti alla fine. Spero questo articolo ti sia di aiuto per capire cos’è un custom post type e come usare i tipi di contenuto personalizzati per creare un sito WordPress flessibile, scalabile e capace di fittare alla perfezione alle tue esigenze. Puoi arricchire i post type gratis con il plugin ACF – Advanced Custom Field o, più semplicemente, se devi farti assistere da un consulente per al creazione o il restyling del tuo sito web, hai conoscenze molto utili per descrivere il tuo progetto in modo più preciso.
Se sei in difficoltà e non riesci a risolvere il problema in autonomia scrivimi per assistenza WordPress dedicata o preventivo per una consulenza WordPress, SEO o Copywriting.
Analizza gratis il tuo sito web per scoprire criticità e possibili migliorie oppure richiedi una consulenza WordPress dedicata.