fbpx

Come creare contenuti personalizzati in WordPress

31 Gennaio 2017 Gianni Burei sviluppo

come creare contenuti personalizzati con WordPress

Ultimamente, nello scrivere gli articoli, mi sono sempre rivolto ad un pubblico che fa uso di WordPress senza però mettere molto mano al codice che sta sotto. Questa volta invece voglio rivolgermi a chi sa o intende sviluppare temi custom in WordPress. Questo vuol dire trasformare un sito statico HTML/CSS in un tema che fa uso di WordPress come motore per gestire i contenuti. Se volete approfondire questo argomento, date un occhiata qui

corso di wordpress avanzato con php Veneto Formazione

Fatta questa premessa, entriamo nel cuore dell’argomento. WordPress di base gestisce 2 tipologie di contenuti (detti Post): Gli articoli e le pagine. Quando sviluppiamo un sito, spesso abbiamo necessità di gestire altri tipi di contenuti, come prodotti, portfolio, rivenditori, ecc.

Dalla versione 3.0, WordPress permette di creare questi contenuti personalizzati (detti “CPT”, Custom Post Type). La loro creazione però può essere fatta solamente tramite codice, con la funzione register_post_type();. Questo comando va inserito nel file “functions.php” all’interno della cartella del tema che state sviluppando.

Il codice è però spesso lungo da scrivere (vedi figura qui sotto), e per questo motivo la gente spesso preferisce far uso di plugin appositi per la creazione di tali contenuti (per citarne alcuni “Custom Post Type UI” e “Toolset Types”). Personalmente ritengo che l’uso di plugin dovrebbe essere relegato a funzionalità che sono complesse da progettare o che impiegherebbero troppo tempo nella loro implementazione tramite codice. Insomma, meno plugin usate, meglio è.

Su questa prospettiva, ci viene in aiuto GenerateWP: Questo sito infatti, è un generatore di codice “snippet” PHP da includere nel codice del vostro tema. Potete quindi usare il codice richiesto da WordPress senza dovervelo scrivere ogni volta, ma semplicemente compilando un modulo passo-passo. Quindi nessun plugin richiesto e  nessuna riga di codice da scrivere da zero.

Il sito è gratuito ma  presenta anche un piano a pagamento. Per quello che serve a noi basta la parte gratuita, che inoltre, non richiede alcuna registrazione.

Vediamo in particolare, come usare questo generatore per creare un nuovo Contenuto Personalizzato (CPT).

Sulla Home-page del sito cliccate sul box “Post Type Generator” (vedi schermata qui sotto). Che vi rimanderà al modulo di generazione vero e proprio. La schermata che compare presenta il form di compilazione in alto e sotto il codice di output che sarà generato. Il modulo è formato da diversi “tab” con i vari passaggi per la creazione del CPT. Vediamo uno step alla volta, supponendo di voler creare il CPT “Prodotti“.

 

1. General

Cliccando su “General” andiamo a definire, in ordine, il nome della funzione (a vostro piacimento), se il codice sarà usato in un “child-theme” e infine il “text-domain” (utile se il tema è multilingua).

 

2. Post Type

Cliccando su “Post Type” andiamo a definire gli aspetti principali del CPT:

  • Post Type Key: il nome univoco del CPT (minuscolo e senza spazi)
  • Description: La descrizione del CPT (potete lasciare anche vuoto)
  • Name (Singular/Plural): Nome singolare e plurale del CPT visibile sul sito
  • Link to taxonomies: le tassonomie a cui è collegato, lasciare vuoto se non serve.
  • Hierarchical: Indica se il CPT sarà gerarchico (come sulle pagine) o no (come per gli articoli)

 

3. Labels

Questa è forse la parte più “noiosa” del processo: dovete infatti indicare le diverse etichette del CPT che saranno visualizzate in area amministrativa. Vi basta quindi tradurre i testi che trovate nei “placehold” (segnaposto) di ogni campo. Ad esempio, se state sviluppando il CPT “Prodotti”, al campo “Attributes”, potreste scrivere “Attributi prodotto”.

 

4. Options

In questa sezione andate a definire i campi e la visibilità del CPT. In particolare:

  • Supports: definisce quali campi supporterà il nostro contenuto personalizzato.
  • Exclude from Search: Rimuovere o no il CPT dalla ricerca.
  • Enable Export: Abilitare il CPT dall’essere esportato tramite “StrumentiàEsporta”.
  • Enable Archives: Permette di abilitare la pagina di archivio per il CPT con eventuale Slug personalizzato (vedi campo sotto).

 

5. Visibility

Cliccando su “Visibility” settiamo la visibilità in area amministrativa del nostro  CPT.

  • Public: Indica se il Post Type sarà visibile ad autore e lettori
  • Show UI: Indica se sarà visibile un interfaccia grafica per gestire il Post Type in area amministrativa
  • Show in Admin Sidebar: Definisce se mostrare il CPT nel menu principale in area amministrativa, e a che altezza
  • Admin Sidebar Icon: Imposta l’icona del CPT nella sidebar. Potete indicare l’indirizzo assoluto dell’icona o usare le icone fornite da WP con “dashicon
  • Show in Admin Bar: Visualizzare o no il CPT sulla barra in alto
  • Show in Navigation Menus: Visualizza il CPT sulla gestione dei menu personalizzati

 

6. Query

In questa sezione, più tecnica (potete saltarla volendo), potete definire un valore diverso per la creazione delle query per il front-end. Normalmente però si tende ad utilizzare lo stesso nome definito sul “Post Type Key” (passo 2).

 

7. Permalinks

In questo passo, decidete i permalink da usare per i CPT. Qui io consiglio di Impostare come Permalink Rewrite “Custom permalink”, come URL Slug lo stesso usato su “Post Type Key” al passo 2, e infine Use URL Slug a “No”. Questo settaggi infatti vi permettono di gestire separatamente i permalink rispetto a quelli degli articoli, che trovate su “Impostazioni –> Permalink” in area amministrativa.

Lasciate così come sono Pagination e Feeds.

 

8. Capabilities

In questa fase potete definire quali utenti potranno vedere il vostro CPT, definendo le “Capabilities”. Nella maggior parte dei casi potete lasciare così com’è e saranno applicati gli stessi ruoli usati per le Pagine.

 

9. Rest API

L’ultima sezione, potete evitarla, in quanto utile sollo se dovete gestire tramite Rest API il vostro contenuto personalizzato. Le Rest API sono una funzionalità disponibile dall’ultima versione di WordPress (4.7) e permettono la comunicazione dall’esterno, lato codice, con il vostro sito.

 

Una volta compilati tutti i passaggi, potete cliccare su “Update Code” e sarà generato subito sotto il codice richiesto. Ora selezionatelo, copiatelo ed incollatelo sul file “functions.php” presente nella cartella del vostro tema WordPress.

Fatto tutto questo vedrete comparire nella vostra area amministrativa il CPT appena creato. Potrete poi gestirlo nel front-end del vostro tema, mediante i seguenti file:

  • archive-prodotti.php: Per gestire l’archivio dei Prodotti.
  • single-prodotti.php: Per gestire il singolo Prodotto.

 

Ecco, ora potete gestire i vostri Contenuti Personalizzati senza l’uso di alcun plugin. Pronti a creare Prodotti, Progetti e tutto quello che il vostro cliente vi chiederà?

 

Ancora nessun commento

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.