La funzionalità del theme customizer è stata aggiunta a partire dalla versione 3.4 di WordPress e consente all’utente di modificare alcune impostazioni, come ad esempio header, footer, widget e sfondi tramite un’interfaccia molto intuitiva e con anteprima live senza salvare. Oltre alle modifiche di base è possibile estendere di molto le funzionalità base del theme customizer.
Per aggiungere nuove opzioni, è necessario ricorrere ai due hook customize_register e wp_head, il primo permette di aggiungere pannelli, sezioni, impostazioni e controlli, il secondo di aggiungere un nuovo foglio di stile per controllare l’aspetto del Customizer.
Per aggiungere nuove impostazioni al theme customizer è necessario passare delle informazioni a $wp_customize tramite l’azione customize_register. A questo punto una sezione di configurazione nuova ci chiederà di definire (almeno) un’impostazione, una sezione e un controllo. L’impostazione è quella vera e propria, la sezione è il riquadro in cu le impostazioni verranno mostrate (titolo e motto) e il controllo farà qualcosa con l’impostazione.
Le pagine delle opzioni dei temi
Ci sono molti temi WordPress che ci offrono la possibilità di modificare alcune aspetti grafici e funzionali come ad esempio: il set di colori principali, il font oppure di nascondere/mostrare alcuni sezioni.
Questo però a volte può non bastare in quanto abbiamo bisogno di personalizzare ancora di più e ci serve una sezione all’interno del nostro backend dove aggiungere delle opzioni per il nostro tema.
Per creare una pagina delle impostazioni per un tema WordPress dobbiamo aggiungere codice all’interno del functions.php e costruire tutto da lì. Potremmo ad esempio modificare il design cambiando le dimensioni dei font oppure salvare del codice che verrà aggiunto una sezione specifica del nostro tema (attraverso gli hook di azione). Prima di procedere con la creazione di una pagina delle opzioni, il consiglio è quello di:
- fare una lista delle funzionalità del nostro tema;
- fare una lista di ciò di cui abbiamo bisogno di controllare dalle opzioni;
- valutare quale di queste opzioni si può fare da codice custom (o da plugin);
- proviamo ad immaginare l’impatto che i nuovi codici possono avere nel sito wen.
Dopo che abbiamo ragionato su questo, procediamo con la creazione della pagina delle opzioni che vengono create utilizzando l’API Settings.
Theme customizer oppure opzioni dei temi?
Anche se apparentemente può sembrare utile avere un tema ricco di opzioni tramite le quali gli utenti possono modificare ogni singolo elemento/parte del sito web, in realtà questo può avere un risolto negativo in quanto si ha un tema gonfio di codice con tonnellate di opzioni. Avere tante opzioni con il rischio che non tutte le combinazioni (ad esempio colori+font) funzionano correttamente, quale vantaggio porta? Nessuno.
Quindi consideriamo sempre di tenere le opzioni al minimo. Il file functions.php è ideale per aggiungere opzioni di base mentre quelle più avanzate dovrebbero essere gestite all’esterno, chiamando altri file o in un plugin. Quando vediamo che il functions.php sta crescendo troppo magari fermiamoci e facciamo un recap di ciò che abbiamo fatto per valutare se, una parte di codice può essere spostato, ad esempio in un plugin.
Il theme customizer è ideale per le impostazioni visuali, perché può offrirne un’anteprima live, oltre a ricaricarla ogni volta che ci occorre. Come regola generale tutte le impostazioni di carattere visuale dovrebbero essere gestite nel theme customizer e le altre in una pagina delle opzioni.
Mentre se tutte le impostazioni che stiamo creando ci dovranno servire anche per un altro tema, allora dovranno essere aggiunte in un plugin.