logo
Federico Barberis

Web Designer

Professionista freelance con oltre 15 anni di esperienza nel settore della grafica digitale applicata al web e alla stampa. Esperto della piattaforma WordPress e del framework Bootstrap sono in grado di seguire l’intero workflow per la realizzazione di un sito web, dalla progettazione grafica alla implementazione su server e la pubblicazione on-line. Sono appassionato del mio lavoro e alla continua ricerca di tools e soluzioni efficaci e magari innovative.

Scarica il CV
 

WordPress Custom Post Types

CPT_banner

WordPress Custom Post Types

 

Ciao a tutti, purtroppo non mi sono fatto sentire per un po’. Ma ora perché non rimettiamo mano a WordPress e non ci cimentiamo in qualcosa di nuovo?
Come alcuni sapranno dalla versione 3.0 sono stati introdotti i custom post types ovvero le tipologie di post personalizzate. Vi chiederete che bisogno c’era, visto che si poteva già scrivere qualsiasi cosa negli articoli e organizzarli secondo le più svariate categorie o tag, le famose taxonomies di WordPress. Questo è vero se il sito che vogliamo realizzare è un blog o un magazine, ma se volessimo realizzare un sito di e-commerce con un catalogo prodotti o un archivio dei nostri film preferiti la tipologia di contenuto standard di WordPress (il post o, in Italiano, articolo) non sarebbe adatta.
Il post per descrivere un film, per esempio, conterrà la trama, il titolo, il campo attori, il genere e l’anno di produzione, tutti campi – titolo e descrizione a parte – non disponibili di default. Dovremo quindi:

  • Definire un nuovo Post Type (Film)
  • Definire delle categorie personalizzate (Giallo, Commedia, Horror ecc.)
  • Definire dei campi ad hoc per descrivere il film (Regista, Attori, Durata, Anno di produzione ecc.)

Sporchiamoci le mani col codice

Il file che andremo a modificare è functions.php all’interno della directory del nostro tema. Apriamo questo file col nostro editor preferito oppure con l’editor di WordPress e al fondo incolliamo questo codice:

Chiunque abbia un po’ di familiarità con WordPress riconoscerà questo codice. Abbiamo aggiunto un’azione quando viene inizializzata l’interfaccia amministratore di WP, per richiamare la funzione film_register(); con questa funzione creiamo due array, $labels e $args. Con $register_post_type per creare la tipologia film, che userà i parametri definiti in $args.

Diamo un’occhita più da vicino a quello che abbiamo scritto e cerchiamo di comprenderne il significato:
per quanto riguarda $labels:

  • name il nome del nostro post-type (Film, Libri ecc.)
  • singular_name – come vogliamo chiamare il post-type al singolare (es. “aggiungi nuovo film, libro ecc.)

potete intuire il significato dei restanti argomenti, si tratta di definire come vogliamo che ci vengano fatte le richieste dal back-end di WordPress.

passiamo all’array $args:

  • public – se vogliamo o meno che vengano mostrati nella UI (User Interface)
  • show_ui – se vogliamo un pannello di amministrazione per questo nuovo custom post type
  • capability_type – WordPress considererà ogni nuovo elemento come un post con la possibilità di leggerlo, modificarlo o cancellarlo
  • hierarchical – deve essere considerato in modo gerarchico come le pagine?
  • rewrite – riscrive i permalinks usando lo slug ‘I miei film’
  • supports quali elementi vogliamo che vengano visualizzati nella pagina di modifica/aggiunta dei post

Questo è sufficiente per poter vedere il nostro nuovo post-type nell’interfaccia amministratore. Salvate il file functions.php e date un’occhiata.

Quello che ci accingiamo a fare ora è creare una categoria per i nostri post-type con la funzione register_post-type.
Per esempio  possiamo creare la categoria “Generi” e popolarla con elementi quali “giallo, commedia, fantascienza” ecc.
Per fare questo ci serve questa riga di codice:

Il primo elemento è il nome della categoria (“generi”) che farà parte della tipologia di post appena creata (“film”). Aggiunta questa riga di codice salviamo functions.php e dovremmo vedere quanto segue nell’interfaccia amministratore.

custom post type

Ora possiamo anche creare e inserire nuovi generi di film:

custom taxonomy

Il loop di WordPress

Per poter richiamare i custom post types in un template di pagina è necessario configurare il loop di WordPress in questo modo:

In questo esempio ho limitato a 10 il numero di post per pagina, è ovvio che potete sbizzarrirvi nel creare il loop della vostara pagina.

Conclusioni

Bene. Direi che per iniziare a creare i vostri custom post type avete le basi giuste. Ovviamente WordPress ci consente di creare anche dei campi di testo personalizzati come il nome del regista o la casa di produzione, per rimanere in tema.
Per ulteriori informazioni, vi rimando a questi due link. Requisiti minimi: conoscenza di base dell’inglese.
A presto.

http://thinkvitamin.com/code/create-your-first-wordpress-custom-post-type/

http://codex.wordpress.org/Post_Types

Federico Barberis
info@weblabdesign.net

Web designer free-lance con oltre 15 anni di esperienza nel settore della grafica digitale applicata al web e alla stampa. Esperto della piattaforma WordPress e del framework Bootstrap sono in grado di seguire l’intero workflow per la realizzazione di un sito web, dalla progettazione grafica alla implementazione su server e la pubblicazione on-line. Sono appassionato del mio lavoro e alla continua ricerca di tools e soluzioni efficaci e magari innovative.

Non ci sono commenti

Pubblica commento