Advanced Custom Fields (ACF) è utile quando vuoi trasformare WordPress da semplice editor di pagine a sistema di contenuti strutturati. Una delle possibilità più interessanti è usare i valori dei campi per decidere cosa mostrare nel frontend.
È importante però distinguere due cose: la logica condizionale dell’editor ACF e la visualizzazione condizionale sul sito. Non sono la stessa funzione.
La logica condizionale di ACF nell’editor
ACF permette di mostrare o nascondere campi nell’area di amministrazione in base al valore di altri campi. Serve a rendere l’editing più semplice e a evitare di mostrare opzioni irrilevanti.
Esempio: per un contenuto “Evento” puoi avere un campo Tipo di evento con valori “Fisico” e “Online”. Se scegli “Fisico”, mostri nell’editor indirizzo e mappa; se scegli “Online”, mostri il campo URL.
La logica nel frontend richiede codice
Per decidere cosa vede il visitatore devi invece leggere il valore del campo nel template, in un block render callback o nella logica del componente.
<?php
$type = get_field( 'tipo_evento' );
if ( 'fisico' === $type ) {
$address = get_field( 'indirizzo' );
// Render della sede fisica.
} elseif ( 'online' === $type ) {
$url = get_field( 'url_evento' );
// Render del link all'evento.
}
?>
La stessa logica può essere usata con Twig/Timber, block themes, template PHP, REST API o frontend headless.
Ruoli utente e stato di login
ACF può fornire i dati che guidano la decisione, ma per verificare chi sta visitando la pagina devi usare le API di WordPress, per esempio is_user_logged_in() o i controlli sulle capability.
Evita invece di basare autorizzazioni reali soltanto sul fatto che un blocco sia “nascosto”: se un contenuto è riservato, il controllo deve avvenire lato server e non soltanto via CSS o JavaScript.
E i dispositivi mobile/desktop?
Per differenze puramente visuali tra desktop e mobile è quasi sempre meglio usare CSS responsive. Il rilevamento del dispositivo lato PHP può essere utile in casi particolari, ma non dovrebbe essere il modo normale per costruire layout responsive.
Quando ACF è particolarmente utile
- cataloghi e directory;
- case study e portfolio strutturati;
- eventi con dati diversi in base alla tipologia;
- schede prodotto o servizi custom;
- contenuti multilingua con campi prevedibili;
- headless WordPress e API;
- blocchi Gutenberg personalizzati.
Perché strutturare i dati è meglio che inserire tutto in un editor libero
Campi ben progettati rendono il contenuto più riutilizzabile, validabile e facile da esporre tramite API. Sono utili anche quando lo stesso dato deve comparire in più punti del sito o essere consumato da un frontend diverso da WordPress.
Se il progetto richiede contenuti strutturati, API o integrazioni, trovi anche i miei servizi di sviluppo custom e integrazioni.





