Cosa sono i Custom Post Type (CPT) ?
I CPT sono dei tipi di post, WordPress di default ne ha 2 e sono le pagine e gli articoli, ma possiamo aggiungerne quanti ne vogliamo, i custom post type estendo le funzionalità di WordPress permettendoci di aggiungere nuove funzioni, per esempio un archiviazione di titoli di CD, vediamo subito come fare.
Prima di tutto scriviamo il codice necessario a creare il CPT.
Il codice sottostante va inserito nel file functions.php del vostra template, anche se in realtà potete creare un plugin per WP.
Alla riga 26 abbiamo la stringa che definisce l’icona da visualizzare, nell’esempio ho utilizzato un’icona personalizzata ma è possibile utilizzare anche una delle dashicons di WordPress, si trovano a questo indirizzo https://developer.wordpress.org/resource/dashicons/
E’ sufficiente modificare la stringa in questo modo
L’immagine dell’icona consiglio di farla di 20×20 px.
Come mostrare i post di un custom post type di WordPress
Bene, abbiamo creato la parte relativa al back end, ora possiamo al front end in modo da mostrare i post inseriti.
Adesso all’interno del nostro template (funziona anche su un tema child) creiamo un file che chiamiamo cd.php (il nome del file deve essere quello del custom post type) e ci incolliamo il codice sottostante.
Ora creiamo una nuova pagina di WordPress ed assegnamo il template appena creato.
Ora creiamo una voce di menu che richiama la pagina Libreria CD ed a front end vedremo il contenuto dei CPT, fico no ?
Come aggiungere le categorie ad un CPT (Custom Post Type) WordPress
Di default i custom post type non hanno il supporto per la categorizzazione, nel caso in cui volessimo aggiungerlo possiamo farlo in questo modo
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.
Ciao. Grazie per l’articolo, ma ho un problema.
Ho inserito il tuo codice in function.php (modificando da CD a promo).
Nel back-end tutto bene.
Si vede pure l’anteprima nella pagina Promozioni (che richiama i post). Ma quando entro nella pagina della singola promozione mi da errore 404.
Ho creato anche promo.php (ma con o senza non cambia nulla).
Hai idea del perché?
https://www.thedesignables.com/PROVE_CLIENTI/centerchrome/promozioni/
Grazie
Come ti mando qualche screenshot?
Ciao Matteo,
posta il codice che hai messo nel functions.php
Forse è meglio così: https://codeshare.io/29YEl7
Usa questo https://codeshare.io/29YEl7
Perfetto, grazie. Ora funziona. Cosa avevo sbagliato?
Così per la prossima volta sono a posto.
In una funzione PHP non puoi passare caratteri maiuscoli o –