Vai al contenuto

La realizzazione di un tema WordPress personalizzato è un lavoro che deve essere svolto in maniera meticolosa e che spesso richiede molto tempo. Ci sono però alcuni strumenti che velocizzano il processo di lavorazione e Advanced Custom Fields è sicuramente uno degli strumenti che posso definire imprescindibili.
Questo non è un tutorial su come integrare ACF con un tema ma sono alcune indicazioni su come ottimizzare le interfacce che possono essere create in modo da renderle facilmente fruibili da chi si troverà poi a gestire i contenuti.

Perchè scegliere Advanced Custom Fields

Quando si presenta la necessità di strutturare dei contenuti più complessi del tradizionale blog post ACF è una risorsa molto utile perchè consente di ottenere ottimi risultati in diverse aree che vanno dalla gestione delle informazioni alla creazione di interfacce per l’inserimento contenuti che, se ben strutturate, possono essere utilissime per chi lavora su un sito a livello editoriale.

Dato l’uso costante che faccio di questo strumento tempo fa ho acquistato la versione PRO che ad un prezzo decisamente vantaggioso fornisce tutti gli strumenti necessari a lavorare ad alto livello.

Gestione delle informazioni con ACF

I dati che puoi gestire con ACF sono innumerevoli e ti permetteranno di creare contenuti di livello avanzato. Potrai creare pannelli per gestire gli ingredienti di una ricetta, eventi con scadenza impostata tramite date / time picker o anche gestire aspetti SEO avanzati come ad esempio i microdati.

Creazione di interfacce per l’inserimento contenuti

Come detto le possibilità che offre ACF sono davvero infinite e la cosa più interessante è che una volta impostato il comportamento di un gruppo di campi personalizzati l’utente finale del sito potrà gestire in autonomia le informazioni.
Questa possibilità però può anche rivelarsi un’arma a doppio taglio se la progettazione dei contenuti non viene fatta con un ragionamento solido che non dipende da ACF ma da quanto tempo dedicherai a capire qual’è la formula perfetta per strutturare le informazioni che dovranno poi essere gestite dall’utente finale.

Nome del gruppo di campi, etichette, nomi dei campi e tipo di campo

L’operazione più semplice e più efficace è compilare il nome del gruppo di campi e l’etichetta di ogni campo in modo corretto cercando di scegliere un testo che sia il più auto esplicativo possibile. I campi creati tramite ACF sono definiti dal set etichetta / nome / tipo di campo.

L’etichetta di ogni campo viene usata per indicare a chi inserirà i contenuti la funzione di quel campo e non verrà utilizzata quando richiamerai il codice per strutturare le pagine in front end. Non preoccuparti quindi di dover essere sintetico o di non utilizzare lettere accentate e simboli ma concentrati piuttosto su cosa scrivere per rendere significativa la funzione di quel campo.

Il nome del campo viene invece utilizzato per gestire i dati quando vengono salvati / richiamati dal database. È quindi necessario prestare particolare attenzione a creare nomi univoci e strutturati secondo schemi precisi in modo da rendere il più chiaro possibile il loro scopo quando verrano utilizzati nei template di pagina.

L’ultima opzione quando si crea un nuovo campo è scegliere il tipo di campo, ovvero la sua funzione. Advanced Custom Fields mette a disposizione innumerevoli possibilità che vanno dalla gestione di una singola stringa di testo alla gestione di repeater. Successivamente vedremo come ottimizzare al meglio questi dati in modo da renderli facili da gestire sia durante lo sviluppo di un tema che per l’utente finale.

Posizione e impostazioni del gruppo di campi

Ogni gruppo di campi deve necessariamente essere corredato da alcune informazioni che serviranno per stabilire dove e come dovrà essere inserito nell’interfaccia di gestione dei contenuti.

La posizione permette di associare il gruppo di campi ad uno o più post type come ad esempio pagine, articoli, custom post type piuttosto che uno specifico template di pagina o un post associato ad una specifica categoria.
Le possibili combinazioni possono essere un grattacapo se inizialmente non si strutturano i contenuti in modo accurato. È quindi importante ragionare sulla suddivisione dei campi tra campi specifici per un determinato tipo di contenuto e campi che possono essere associati a molteplici contenuti.
Con un lavoro a monte ben fatto avrete pochi gruppi di campi sia verstatili che specifici: in questo modo la loro gestione ed il loro utilizzo saranno basati su modelli e quindi più facili da riconoscere e manipolare.

Le altre impostazioni riguardano principalmente l’ordinamento e la posizione del gruppo di campi e quali elementi dell’editor debbano essere nascosti (ad esempio è possibile nascondere l’editor predefinito). La scelta della giusta combinazione di opzioni permetterà di poisizionare il gruppo di campi in modo efficace dando la giusta importanza alle informazioni rispetto al resto degli elementi.

Un esempio con il campo repeater

Per riassumere quanto scritto e fornire un esempio prendiamo in esame la creazione di un gruppo di campi necessari a fornire informazioni per una ricetta culinaria.
Innanzitutto ragioniamo sulle informazioni necessarie e su come strutturarle al meglio. Per posizione e impostazioni possiamo scegliere di mostrare il gruppo di campi solo nel tipo di post “Articolo” o, se abbiamo un custom post type dedicato, in quel post type (ad esempio “Ricette” ).
Data la complessità delle informazioni da gestire il gruppo di campi dovrebbe essere posizionato dopo il contenuto in modo da avere a disposizione un’area estesa per distribuire le informazioni; in questo modo lasceremmo come primo blocco l’editor predefinito di WordPress in modo da poterlo utilizzare  per scrivere un’introduzione alla ricetta.

Advanced Custom Fields

ACF – Nominare il gruppo di campi ed impostare il suo comportamento.

Possiamo poi stabilire che per una ricetta i campi fondamentali sono:

  1. ingredienti e relative quantità;
  2. tempo e difficoltà di preparazione;

Ingredienti e relative quantità

Per questi dati utilizzeremo un repeater in modo da poter aggiungere molteplici ingredienti in base alle caratteristiche della singola ricetta. I requisiti obbligatori sono che deve essere inserito almeno un ingrediente; la quantità invece non è obbligatoria.

Advanced Custom Fields

Composizione di un campo repeater.

Dove necessario – ad esempio nel campo di gestione del repeater – è possibile aggiungere un testo di istruzioni per ridurre al minimo il margine di errore in fase di inserimento.

Tempo e difficoltà di preparazione

Questi due campi non necessitano di un repeater e possono essere inseriti come campi semplici. Per facilitare il lavoro in fase di inserimento e per creare un modello per i lettori del sito il campo “Difficoltà di preparazione” può essere impostato come “select”: in questo modo la difficoltà sarà basata su una scala. Per lo stesso motivo possiamo fornire nelle istruzioni del campo “Tempo di preparazione” un suggerimento sul formato da usare per essere sempre coerenti con le indicazioni.
Impostando il campo select in questo modo quando verranno inseriti dei contenuti sarà inevitabile associare un valore al campo. Il campo relativo al tempo di preparazione è invece obbligatorio in modo da impedire che questa informazione possa essere tralasciata.

 

Advanced Custom Fields

Impostazione dei campi durata e difficoltà.

Il risultato finale nella pagina di modifica di un articolo

Nella pagina di gestione di un articolo il gruppo di campi risulta ben chiaro e facile da usare. Ovviamente questo esempio è molto semplice ma è una buona base per capire come ragionare sulla strutturazione delle informazioni.

Advanced Custom Fields

L’editor di un articolo con il gruppo di campi per gestire una ricetta.

Documentazione

Se ti stai chiedendo come usare i campi generati da ACF puoi consultare la documentazione di Advanced Custom Fields: è incredibilmente vasta e ben strutturata. Le possibilità offerte da ogni tipo di campo sono corredate da esempi specifici con differenti aree di applicazione.
Prendere confidenza con questo strumento permette non solo di creare contenuti più ricchi e piacevoli da leggere ma anche creare funzionalità avanzate che ti permetteranno di creare temi complessi e in grado di soddisfare le esigenze di ogni cliente.