Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 30 di 33
  • livello avanzato
Indice lezioni

Il Theme Customizer di WordPress

Impariamo ad utilizzare le funzionalità del Theme Customizer, uno strumento che consente di aggiungere opzioni ai temi di WordPress.
Impariamo ad utilizzare le funzionalità del Theme Customizer, uno strumento che consente di aggiungere opzioni ai temi di WordPress.
Link copiato negli appunti

Il Theme Customizer è uno strumento che consente di aggiungere opzioni ai temi di WordPress. Si tratta di un set di API che, a partire dalla versione 3.4, permette di verificare le modifiche apportate alle impostazioni dei temi. Il Customizer fornisce un'interfaccia grafica, un vero e proprio editor WYSIWYG (What You See Is What You Get), a supporto di chi sviluppa temi.

La Theme Customization API dispone di numerose funzionalità, tra cui la possibilità di assegnare privilegi sui controlli a diversi gruppi di utenti, in modo che ogni gruppo possa modificare specifiche impostazioni.

Altra funzionalità riguarda la contestualizzazione dei controlli: il Customizer permette di visualizzare solo sezioni e controlli che risultano attivi nella pagina che si sta modificando. Ad esempio, nella sezione dei widget saranno visibili solo widget area che risultano attive sulla pagina corrente.

Figura 1. Theme Customizer di Twenty Sixteen
Theme Customizer di Twenty Sixteen

L'interfaccia è strutturata in un pannello principale (Panel), sezioni (Sections), e controlli (Controls). Il pannello è un contenitore di sezioni, che a loro volta sono contenitori di controlli. Ad ogni controllo corrisponde un'impostazione salvata nel database.

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.

Figura 2. Theme Customizer iniziale di Seventyone
Theme Customizer iniziale di Seventyone

Personalizzare il Theme Customizer

Per aggiungere sezioni, impostazioni e controlli al Customizer, bisogna agganciare una funzione di callback all'hook customize_register:

function seventyone_customize_register( $wp_customize ) {
	// your code here
}
add_action( 'customize_register', 'seventyone_customize_register' );

La callback accetta come unico argomento l'oggetto $wp_customize, che rende disponibili tutti i metodi necessari alla personalizzazione del Customizer:

Metodo Descrizione
add_setting() Memorizza una nuova impostazione nel database
add_section() Aggiunge una nuova sezione (gruppo di controlli) al Customizer
add_control() Aggiunge un controllo HTML
get_setting() Recupera un'impostazione dal database

Per aggiungere un nuovo controllo, bisogna prima creare una nuova impostazione nel database, grazie al metodo add_setting() e, se necessario, una nuova sezione tramite add_section(). Non è sempre necessario creare una nuova sezione, WordPress dispone infatti di sei sezioni predefinite utilizzabili senza doverne creare di nuove. Si analizzi ad esempio il seguente codice:

function seventyone_customize_register( $wp_customize ) {
   $wp_customize->add_setting( 'seventyone_header_color' , array(
		'default'		=> '#555555',
		'sanitize_callback' => 'sanitize_hex_color'
	) );
	$wp_customize->add_section( 'seventyone_header_section' , array(
		'title'      => __( 'Header', 'seventyone' ),
		'priority'   => 30
	) );
	$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array(
		'label'        => __( 'Site Title Color', 'seventyone' ),
		'section'    => 'seventyone_header_section',
		'settings'   => 'seventyone_header_color'
	) ) );
}
add_action( 'customize_register', 'seventyone_customize_register' );

Nel prossimo capitolo dedicato al Theme Customizer verranno analizzati nel dettaglio i tre metodi utilizzati nella funzione di callback.

Ti consigliamo anche