pagina faq con wordpress

Quando si offre un prodotto o un servizio è bene mettere a disposizione del cliente/utente una pagina FAQ che risponda ai suoi quesiti (o almeno i più comuni) riguardanti il suo acquisto o ciò che è interessato ad acquistare. Questo tutorial ti mostrerà nel dettaglio come creare una sezione FAQ in WordPress con l’aiuto dei custom post, senza l’ausilio di plugin.

Implementare un custom post personalizzato

Per creare la sezione FAQ, bisogna per prima cosa creare un custom post personalizzato che verrà usato solo ed esclusivamente per la sezione in questione. Questo ti permetterà di gestire tutte le FAQs più agevolmente, nella stessa maniera in cui gestisci pagine e articoli. Inoltre questo metodo è consigliato nel caso il numero di FAQs aumenti nel tempo.

Il primo passo quindi è la creazione del custom post, inizia editando il file functions.php che si trova nella cartella del tema che attualmente stai utilizzando, inizializzando la funzione create_post_type() :

Una volta inizializzata la funzione create_post_type() è giunto il momento di scrivere la funzione stessa, la quale conterrà tutti i metadati necessari alla creazione del custom post, registrando il tutto all’interno del database di WordPress.

La prima parte della funzione prevede la personalizzazione delle etichette visualizzate nel pannello di amministrazione. Per etichette intendo il testo che verrà utilizzato nell’interfaccia per aggiungere, editare e cercare.

La personalizzazione delle etichette, come puoi osservare, risulta davvero semplice. Per togliere ogni dubbio di seguito trovi il significato delle principali etichette:

  • name: definisce il nome della sezione (comparirà nella barra di sinistra tra le altre voci)
  • singular_name: definisce il termine singolare
  • add_new: definisce il testo all’interno del pulsante per aggiungere una nuova FAQ
  • edit: definisce il testo all’interno del link per modificare la FAQs
  • new_item: definisce il testo all’interno del pulsante per creare una nuova FAQ
  • view: definisce il testo all’interno del link per visualizzare la FAQ
  • search_items: definisce il testo per indicare la ricerca di una FAQ
  • not_found: definisce il testo da mostrare a video nel caso non venga trovata alcuna FAQ
  • not_found_in_trash: definisce il testo da mostrare a video nel caso non venga trovata alcuna FAQ nel cestino

Per una lista più dettagliata delle etichette personalizzabili potete visitare la pagina del codex.

Continuiamo con la scrittura della funzione create_post_type(), è giunto il momento di definire gli argomenti per il metodo register_post_type che verrà impiegato per registrare a tutti gli effetti il custom post. Gli argomenti, i quali sono contenuti in un array, contengono le informazioni che andranno a comporre il custom post per le FAQs.

Gli argomenti all’interno dell’array sono tanti, ma solo alcuni sono veramente degni di nota:

  • labels ha al suo interno tutte le etichette personalizzate che abbiamo scritto nel passaggio precedente
  • has_archive abilita il post type come archivio, lo vedremo più avanti nel dettaglio
  • supports definisce in un ulteriore array quali features possono essere attivate nella pagina di editor.

Per ulteriori informazioni a riguardo dai un’occhiata al codex.

Sei a buon punto, non ti resta che salvare il file. Complimenti ha registrato il tuo primo custom post personalizzato.

Per una visione più completa eccoti lo snippet completo:

Per verificare che tutto sia al suo posto, dovrebbe comparire la voce FAQs nella barra laterale sinistra, come in figura

creazione di un custom post personalizzato riuscita

Creazione del template

Il custom post è stato creato con successo, è giunto il momento di creare il template che ospiterà le tue pagine FAQs.

Primi di iniziare con la stesura del codice del template, bisogna andare indietro di qualche paragrafo, più precisamente nel listato dove accennavo all’argomento has_archive, perché in base al valore associato bisogna creare file differenti.

Nel caso specifico del tutorial dove è stato assegnato il valore true bisognerà creare il file archive-faq.php. Altrimenti se il valore inserito fosse stato false bisogna creare il file post-faq.php. 

La struttura base da assegnare al file archive-faq o post-faq è la seguente:

Questa pagina farà visualizzare all’utente il link ad una specifica FAQ ed un breve riassunto di quest’ultima (per sfruttare i riassunti nella funzione create_post_type() ho dovuto inserire nell’argomento supports la voce excerpt). Per osservare la struttura in funzione puoi visitare la seguente pagina.

Per quanto riguarda la singola pagina FAQ, basterà creare il file single-faq.php e se si è pigri basterà fare copia ed incolla dal file single.php del proprio template altrimenti si può creare un layout ex novo. Un esempio di layout è quello utilizzato nelle FAQ di Space Web Design.

Conclusioni

Senza utilizzare plugin hai creato una pagina FAQ, non ti resta che rispondere alle domande più comuni dei tuoi clienti/utenti.

Cosa ne pensi? Nei tuoi progetti utilizzi già dei custom post personalizzati? Fammi sapere come…

  • Luca

    Grazie per il Tutorial ! Peccato che per chi è meno pratico manca l’indicazione del percorso dove inserire i file archive-faq.php e single-faq.php …
    I link di esempio della “struttura in funzione” e “l’esempio di layout del tuo sito” non sono funzionanti. Speriamo in un aggiornamento di questa ottima guida.