Contenuti condizionali con ACF: logica editor e frontend

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.

contattami

Hai bisogno di aiuto con il tuo sito WordPress?

Contattami per una consulenza personalizzata e scopri come posso aiutarti a migliorare performance, sicurezza e visibilità del tuo sito.

Qualche feedback

Dicono di me