Cosa Sono le Options Page di ACF
Le Options Page di Advanced Custom Fields PRO rappresentano una funzionalità fondamentale per qualsiasi progetto WordPress professionale. Si tratta di pagine di amministrazione personalizzate dove puoi inserire campi ACF i cui valori sono globali, ovvero non legati a un singolo post o a una singola pagina, ma disponibili ovunque nel sito. Pensa alle informazioni che restano costanti in tutte le pagine: il numero di telefono aziendale, l’indirizzo della sede, i link ai profili social, il logo nel footer, il testo del copyright, le impostazioni SEO globali o i colori personalizzabili del tema.
Senza le Options Page, queste informazioni globali vengono tipicamente hardcodate nei file del tema oppure gestite attraverso il Customizer di WordPress, che ha limitazioni significative sia nella varietà dei campi sia nella organizzazione dell’interfaccia. ACF PRO risolve questo problema permettendo di creare pagine di opzioni completamente personalizzabili, con tutta la potenza e la flessibilità dei campi ACF, organizzate in modo logico e intuitivo per gli amministratori del sito.
Le Options Page sono disponibili esclusivamente nella versione ACF PRO e rappresentano, insieme al Repeater e al Flexible Content, uno dei principali motivi per cui la versione premium è considerata indispensabile dalla maggior parte degli sviluppatori WordPress. In questo articolo vedremo come creare e configurare le Options Page, come associarvi gruppi di campi e come recuperare i valori nel frontend del sito.
Registrare una Options Page nel Tema
A differenza dei gruppi di campi, che si creano dall’interfaccia grafica di ACF, le Options Page devono essere registrate tramite codice PHP nel file functions.php del tema o in un plugin personalizzato. La funzione principale è acf_add_options_page(), che accetta un array di parametri per configurare la pagina. Ecco un esempio base:
<?php
if( function_exists(acf_add_options_page) ) {
acf_add_options_page(array(
page_title => Impostazioni Tema,
menu_title => Impostazioni Tema,
menu_slug => impostazioni-tema,
capability => edit_posts,
redirect => false
));
}
?>
Il parametro page_title è il titolo che appare nella parte superiore della pagina, menu_title è il testo che appare nel menu laterale della dashboard, menu_slug è l’identificativo univoco della pagina (usato nell’URL), capability definisce quale livello di permessi serve per accedere alla pagina e redirect determina se la pagina principale deve reindirizzare alla prima sottopagina (utile quando hai sottopagine).

È fondamentale avvolgere la chiamata a acf_add_options_page() all’interno del controllo function_exists(): questo previene errori fatali nel caso in cui ACF PRO non sia attivo. È una pratica difensiva che dovresti adottare sempre quando utilizzi funzioni specifiche di un plugin nel file functions.php del tema.
Creare Sottopagine di Opzioni
Per progetti complessi, una singola pagina di opzioni potrebbe non essere sufficiente o diventare troppo lunga. ACF PRO permette di creare sottopagine (child pages) che appaiono come voci del sottomenu della pagina principale. La funzione da utilizzare è acf_add_options_sub_page():
<?php
if( function_exists(acf_add_options_page) ) {
acf_add_options_page(array(
page_title => Impostazioni Generali,
menu_title => Impostazioni Sito,
menu_slug => impostazioni-sito,
capability => edit_posts,
redirect => true
));
acf_add_options_sub_page(array(
page_title => Informazioni Aziendali,
menu_title => Azienda,
parent_slug => impostazioni-sito,
));
acf_add_options_sub_page(array(
page_title => Social Media,
menu_title => Social,
parent_slug => impostazioni-sito,
));
acf_add_options_sub_page(array(
page_title => Footer e Copyright,
menu_title => Footer,
parent_slug => impostazioni-sito,
));
}
?>
In questo esempio, nel menu laterale apparirà la voce “Impostazioni Sito” con tre sottovoci: “Azienda”, “Social” e “Footer”. Il parametro parent_slug deve corrispondere al menu_slug della pagina principale. Nota che nella pagina principale abbiamo impostato redirect su true: questo significa che cliccando su “Impostazioni Sito” l’utente verrà automaticamente reindirizzato alla prima sottopagina, evitando di avere una pagina principale vuota o duplicata.
Opzioni Avanzate di Registrazione
La funzione acf_add_options_page() supporta diversi parametri aggiuntivi per personalizzare la pagina. Il parametro icon_url permette di specificare un’icona per la voce del menu, utilizzando le classi Dashicons di WordPress (ad esempio dashicons-admin-generic) o un URL a un’immagine personalizzata. Il parametro position determina la posizione della voce nel menu laterale: un numero più basso la posiziona più in alto.
Il parametro update_button personalizza il testo del pulsante di salvataggio (predefinito: “Update”), mentre updated_message personalizza il messaggio di conferma dopo il salvataggio. Il parametro post_id è particolarmente importante: definisce l’identificativo utilizzato per salvare e recuperare i valori dei campi. Il valore predefinito è options, ma puoi cambiarlo se hai necessità di separare i dati di diverse pagine di opzioni.
Un parametro spesso trascurato è autoload, che controlla se i valori della pagina di opzioni vengono caricati automaticamente all’avvio di WordPress. Se impostato su true (il default), i valori vengono inclusi nell’autoload delle opzioni WordPress, rendendo il recupero dei dati più veloce ma aumentando leggermente il consumo di memoria iniziale. Per pagine di opzioni con molti campi che non vengono utilizzati in ogni pagina del sito, impostare autoload su false può migliorare le performance generali.
Associare i Campi alla Options Page
Una volta registrata la Options Page nel codice, devi creare un gruppo di campi ACF e associarlo alla pagina di opzioni tramite le Location Rules. Vai su ACF > Field Groups, crea un nuovo gruppo o modifica uno esistente, e nella sezione “Location” imposta la regola: Options Page è uguale a [nome della tua pagina di opzioni].

Se hai creato sottopagine, puoi associare gruppi di campi diversi a ciascuna sottopagina. Ad esempio, il gruppo “Informazioni Aziendali” con campi per nome azienda, indirizzo, telefono ed email verrà associato alla sottopagina “Azienda”, mentre il gruppo “Link Social” con campi URL per Facebook, Instagram, LinkedIn e Twitter verrà associato alla sottopagina “Social”. Questa organizzazione mantiene l’interfaccia pulita e ogni sezione rimane focalizzata su un ambito specifico.
Puoi utilizzare qualsiasi tipo di campo ACF nelle Options Page, inclusi Repeater, Flexible Content, Gallery e tutti gli altri. Non ci sono limitazioni rispetto ai campi utilizzabili nei post o nelle pagine. Questo rende le Options Page estremamente versatili: puoi gestire slider globali con un Repeater, sezioni personalizzabili del footer con un Flexible Content, o gallerie di partner e clienti con un campo Gallery.
Recuperare i Valori delle Options Page nel Frontend
La differenza principale tra i campi delle Options Page e quelli associati ai post riguarda il modo in cui vengono recuperati nel frontend. Per i campi dei post, usi semplicemente get_field(nome_campo) e ACF recupera automaticamente il valore dal post corrente. Per i campi delle Options Page, devi specificare esplicitamente il parametro option come secondo argomento:
<?php
// Campi semplici
$telefono = get_field(telefono_aziendale, option);
$indirizzo = get_field(indirizzo_sede, option);
// Campo immagine (formato Array)
$logo = get_field(logo_footer, option);
if($logo) {
echo <img src=" . esc_url($logo[url]) . " alt=" . esc_attr($logo[alt]) . ">;
}
// Repeater nelle Options Page
if( have_rows(link_social, option) ):
while( have_rows(link_social, option) ): the_row();
$icona = get_sub_field(icona);
$url = get_sub_field(url);
echo <a href=" . esc_url($url) . "> . esc_html($icona) . </a>;
endwhile;
endif;
?>
La stringa option (al singolare, non “options”) indica ad ACF di cercare il valore nella tabella wp_options invece che in wp_postmeta. Se hai cambiato il post_id nella registrazione della Options Page, dovrai usare quel valore personalizzato al posto di option. Questo è un errore comune che causa ore di debugging: ricorda sempre di specificare il secondo parametro quando recuperi valori dalle Options Page.
Struttura Consigliata per le Options Page
Sulla base dell’esperienza in decine di progetti WordPress, ecco una struttura di Options Page che funziona bene per la maggior parte dei siti aziendali e dei portali informativi. La pagina principale “Impostazioni Sito” con le seguenti sottopagine copre tutte le esigenze più comuni.
Informazioni Generali: nome azienda, partita IVA, indirizzo sede legale, indirizzo sede operativa, telefono principale, telefono secondario, email generale, email PEC, orari di apertura (Repeater con giorno, apertura mattina, chiusura mattina, apertura pomeriggio, chiusura pomeriggio). Social Media: URL Facebook, URL Instagram, URL LinkedIn, URL Twitter/X, URL YouTube, URL TikTok, URL Pinterest (tutti campi URL con placeholder esplicativo).
Header e Navigazione: logo principale (Image), logo alternativo per sfondo scuro (Image), messaggio banner superiore (Text con toggle True/False per mostrarlo/nasconderlo), pulsante CTA header (Group con testo e URL). Footer: testo copyright (Text), colonne del footer (Repeater con titolo colonna e contenuto Wysiwyg), badge e certificazioni (Gallery), link pagine legali (Repeater con titolo e Page Link).
SEO e Analytics: codice Google Tag Manager (Text), codice Google Analytics (Text), meta description globale (Text Area), immagine OG default (Image), script personalizzati header (Text Area per codice), script personalizzati footer (Text Area per codice). Questa struttura copre il 90% delle esigenze di un sito aziendale e può essere facilmente estesa con sottopagine aggiuntive per funzionalità specifiche.
Options Page e Multilinguismo
Se il tuo sito WordPress è multilingue (utilizzando plugin come WPML o Polylang), le Options Page richiedono una configurazione aggiuntiva. Per impostazione predefinita, i valori delle Options Page sono gli stessi per tutte le lingue. Per avere valori diversi per ogni lingua, devi registrare la pagina di opzioni come “traducibile” nel plugin di multilinguismo.

Con WPML, vai su WPML > Translation Options e abilita la traduzione per le Options Page. Con Polylang, potrebbe essere necessario un plugin aggiuntivo come “ACF Options for Polylang”. In alternativa, puoi gestire il multilinguismo manualmente creando campi separati per ogni lingua (ad esempio telefono_it, telefono_en) e recuperando quello corretto in base alla lingua corrente, ma questo approccio diventa rapidamente ingestibile con molti campi e molte lingue.
Caching e Performance delle Options Page
I valori delle Options Page sono salvati nella tabella wp_options di WordPress, che ha un meccanismo di caching interno molto efficiente. Quando l’opzione autoload è attiva (impostazione predefinita), tutti i valori vengono caricati in memoria con una singola query SQL all’avvio di WordPress e restano disponibili per tutta la durata della richiesta senza query aggiuntive. Questo rende il recupero dei valori dalle Options Page estremamente veloce.
Tuttavia, se hai molte Options Page con centinaia di campi, il volume di dati caricati in autoload può diventare significativo. In questi casi, valuta di disabilitare l’autoload per le pagine meno utilizzate. Ad esempio, le informazioni aziendali e i link social sono usati in ogni pagina (header e footer) e beneficiano dell’autoload, mentre le impostazioni SEO avanzate potrebbero essere usate solo in contesti specifici e possono essere escluse dall’autoload senza impatti negativi.
Un’altra considerazione importante riguarda i plugin di caching come WP Rocket, W3 Total Cache o WP Super Cache. Quando il caching delle pagine è attivo, le modifiche alle Options Page non saranno immediatamente visibili nel frontend finché la cache non viene svuotata o scade. Assicurati che il tuo workflow di aggiornamento delle opzioni includa lo svuotamento della cache, o configura il plugin di caching per svuotare automaticamente la cache quando le opzioni vengono aggiornate.
Sicurezza delle Options Page
La sicurezza delle Options Page è gestita principalmente dal parametro capability nella registrazione. Il valore predefinito edit_posts consente l’accesso a Editor, Autori e Amministratori. Per pagine con impostazioni sensibili (come codici di tracking, script personalizzati o credenziali API), è consigliabile restringere l’accesso usando capability più restrittive come manage_options (solo Amministratori) o addirittura capability personalizzate create con un plugin di gestione ruoli.
I campi che accettano codice HTML o JavaScript (come Text Area per script personalizzati) rappresentano un potenziale vettore di attacco XSS se accessibili a utenti non fidati. Assicurati che solo gli amministratori del sito possano modificare questi campi. Inoltre, quando visualizzi i valori delle Options Page nel frontend, utilizza sempre le funzioni di escaping di WordPress (esc_html(), esc_attr(), esc_url(), wp_kses_post()) per prevenire vulnerabilità di sicurezza, esattamente come faresti con qualsiasi altro dato dinamico.
Le Options Page di ACF PRO sono uno strumento indispensabile per qualsiasi progetto WordPress professionale. Permettono di centralizzare la gestione delle impostazioni globali del sito in un’interfaccia intuitiva e potente, eliminando la necessità di hardcodare informazioni nei file del tema e dando ai gestori del sito il pieno controllo su ogni aspetto, senza dover toccare il codice.
Leggi anche gli altri articoli della serie ACF
- Come Installare e Configurare Advanced Custom Fields su WordPress
- ACF: Creare il Primo Gruppo di Campi Personalizzati
- Tutti i Tipi di Campo ACF: Testo, Immagine, Relazione e Altro
- ACF e i Repeater Field: Creare Contenuti Ripetibili e Flessibili
- Visualizzare i Campi ACF nel Frontend: Template e Shortcode
- ACF e Elementor: Usare i Campi Personalizzati nel Page Builder
- ACF e WooCommerce: Aggiungere Campi Personalizzati ai Prodotti
- ACF Flexible Content: Layout Dinamici Senza Page Builder
- ACF e Gutenberg: Blocchi Custom con Campi Personalizzati
- ACF Free vs Pro: Confronto Funzionalità e Prezzi 2026
- ACF vs Custom Fields Nativi vs Meta Box vs Pods: Confronto
- ACF: Import, Export e Sincronizzazione JSON dei Field Group
- Query Avanzate con ACF: WP_Query, Meta Query e Performance
- Risolvere i Problemi Comuni di ACF: Troubleshooting
Per implementare Options Page professionali e impostazioni globali avanzate nel tuo sito WordPress, affidati al team di G Tech Group, specializzato nella realizzazione di siti web con configurazioni ACF su misura. Contattaci per una consulenza gratuita e scopri come possiamo rendere il tuo sito completamente personalizzabile.
Migliora il Tuo Sito WordPress
Scopri le nostre guide complete sugli altri plugin essenziali per WordPress: