Temi

Cosa Sono i Conditional Tag in WordPress?

I tag condizionali all’interno di un tema sono di fondamentale importanza, vengono utilizzati nei template file del tema e fanno riferimento all’impostazione di alcune condizioni, quindi possono essere utilizzati per visualizzare elementi diversi in base alla situazione. Vediamo alcuni tag condizionali:

is_front_page()


if (is_front_page() ) {

echo 'benvenuti sulla home page del mio sito web!';

}

che controlla se la pagina in cui siamo è la home page, in questo caso se la pagina visitata è la home page mostriamo all’utente un messaggio di benvenuto.

is_category()

Un tag condizionale che può tornare utile è is_category(). Se ad esempio abbiamo la necessità di mostrare un elemento, come la sidebar, soltanto nella pagina di categoria mentre nel resto del sito web no, allora is_category() è il tag che fa per noi.

if ( is_category('sport') ) {
      get_sidebar('sidebar-sport');
} else {
      get_sidebar();
}

Con il codice precedente stiamo dicendo a WordPress: se la categoria che sto visitando è ‘Sport’ o meglio se lo slug della categoria è sport, allora mostra all’utente la sidebar che si chiama sidebar-sport ovvero leggere il file sidebar-sport.php. Mentre se la categoria non dovesse essere quella il codice passerà la clausola else e indica a WordPress di utilizzare il tag include get_sidebar() normale, quindi significa che verrà incluso il file sidebar.php.

is_single()

Il tag condizionale is_single() funziona con tutti i post type ad eccezione delle pagine degli allegati. Questa funzione accetta differenti parametri come ad esempio: ID, Title e slug.

is_single( '21' )

con il codice sopra stiamo indicando a WordPress di mostrarci il post con ID 21.

is_single( 'Il mio sport preferito è il tennis' )

Con il codice sopra stiamo chiedendo a WordPress di mostrare il post il cui title è “Il mio sport preferito è il tennis”.

Stesso esempio si può fare con lo slug, dove WordPress ci mostrerà il post il cui slug è “sport-preferito-tennis”:

is_single('sport-preferito-tennis')

È molto interessante l’utilizzo multiplo dei parametri, ad esempio in un’array:

is_single( array( 21, 'sport-preferito-tennis', 'Il mio sport preferito è il tennis' ) )

Conclusioni

I tag condizionali sono un modo per avere un controllo base sul nostro tema in quanto possiamo chiedere a WordPress dove si trova l’utente e in quale circostanza così da poter essere ponti per servire un contenuto personalizzato. In questo articolo abbiamo fatto l’esempio di una sidebar da mostrare in determinate situazione ma con i tag condizionali si può fare molto di più come ad esempio mostrare parti di template differenti al verificarsi di un evento. Possiamo inoltre utilizzarli con la clausola di esclusione quindi if not e compiere un’azione se non si verifica un evento, esempio: mostrare una sidebar in tutti casi in cui non siamo in home page utilizzando il punto esclamativo prima del tag condizionale:

if ( ( ! is_front_page) ) {
    // Facciamo qualcosa in tutte le pagine tranne che nella home page
}</code class="language-php">

Oppure altro esempio:

if  ( ! is_category('sport') )  { 
       // Facciamo qualcosa in tutte le categorie ad eccezione di quella con  lo slug "sport"
 }

Materiale di approfondimento: Codex https://codex.wordpress.org/Conditional_Tags