Advanced Custom Fields: campi personalizzati per gli sviluppatori WordPress

9 ottobre 2013

Advanced Custom Fields è un plugin per WordPress sviluppato da Eliott Condon indirizzato principalmente agli sviluppatori di temi per WordPress.

Lo scopo di ACF, che è possibile scaricare ed installare facilmente con la procedura standard adottata della stragrande maggioranza dei plugin, è quella di rendere disponibile un’interfaccia grafica chiara e flessibile nel backend del CMS per gestire campi personalizzati per tutte le tipologie di custom post type, di tassonomie, di file multimediali e di utenti.

Una volta scaricato ed attivato, il plugin (in gran parte tradotto in italiano) inserisce una nuova voce nel menu amministrativo che comprende la pagina per la gestione dei campi, una pagina dedicata all’esportazione e un’altra per l’installazione dei componenti aggiuntivi.

Creare i campi

Creare un nuovo campo è molto semplice: i campi sono raccolti per gruppi che si creano tramite la familiare interfaccia di WordPress. Creato un gruppo, al suo interno possono essere inseriti tutti i campi desiderati. La reale forza del plugin risulta evidente proprio in questa fase: le tipologie di campo disponibili sono molte, dalle più semplici come i campi di testo, ai campi con validazione per numeri e indirizzi email, fino a elementi con GUI più complesse quali caricamento di immagini, relazione fra post type tramite AJAX, date picker e color picker.

Figura 1. Le tipologie di campi disponibili.

Tipologie di campi disponibili

La prima operazione da compiere è quella di dare un nome al campo. In base a questo nome ACF creerà anche uno slug (denominato “nome del campo”) privo di tutti i caratteri non consentiti nel codice che ci verrà proposto alla linea successiva (ma che potremo sempre modificare). Tramite un menu a tendina potremo scegliere la tipologia di campo, questa scelta determinerà anche quali voci dovremo compilare successivamente: oltre alle possibilità, sempre presenti, di aggiungere una spiegazione per la compilazione e di renderlo obbligatorio; le opzioni necessarie per poterlo effettivamente utilizzare verrano caricate in modo asincrono.

Ad esempio, per l’inserimento di un menu a tendina dovremo elencare le coppie valore/etichetta e il valore di default; per campi di relazione dovremo specificare quale tipologia di elemento deve essere possibile relazionare, mentre per le immagini dovremo specificare la grandezza delle anteprime e, soprattutto, se desideriamo come valore restituito la ID dell’immagine, la sua URL o un oggetto PHP con le sue proprietà.

Il secondo passo è quello di indicare a quali tipologie di oggetti di WordPress va allegato questo gruppo di campi. È possibile combinare più regole che indicano il post type, le pagine (anche per un singolo template), il ruolo dell’utente, il tipo di tassonomia, o i media files. Questo semplifica di molto il lavoro dello sviluppatore, che non dovrà più preoccuparsi di inserire tutto il codice necessario per aggiungere i campi per ciascuna delle diverse tipologie di contenuti.

Figura 2. Le regole di assegnazione di un gruppo di campi.

Regole di assegnazione di un gruppo di campi

La parte amministrativa dei campi può essere personalizzata facilmente stabilendone l’ordine con un immediato drag and drop e raggruppandoli tramite un capo specifico denominato tab. Nel backend verrano inclusi tutti i campi con i relativi file JavaScript e CSS necessari alla loro GUI.

In questo esempio abbiamo creato 7 campi, di cui due in realtà semplici tab che non restituiscono un valore, ma che aiutano a personalizzare l’area amministrativa.

Figura 3. Esempio di gruppo con sette campi inseriti.

Esempio di gruppo con sette campi inseriti

Questo è il risultato finale che ci si presenta quando apriamo un post, una pagina, o un altro tipo di contenuto al quale abbiamo associato i campi.

Figura 4. Risultato nel backend.

Risultato nel backend

Se vuoi aggiornamenti su Advanced Custom Fields: campi personalizzati per gli sviluppatori WordPress inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Advanced Custom Fields: campi personalizzati per gli sviluppatori WordPress

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy