Usare il condizionale in WordPress

ATTENZIONE: questo articolo è stato scritto oltre un anno fa, ed i contenuti potrebbero non essere più validi o compatibili. Sei pregato di tenerne conto, e se hai informazioni in merito di segnalarmele, grazie.

Totò - Antonio- De Curtis

Versione aggiornata di un articolo pubblicato il 26 luglio 2009

Che cosa significa usare il condizionale in WordPress, o in una pagina dinamica in genere?

Semplicemente far apparire dei contenuti, se sussiste una determinata condizione, altrimenti farne apparire altri.

Cerco di spiegarmi meglio, con un esempio.

Rispolvero questo vecchio articolo del 2009, comunque attuale per contenuti, perché in questi giorni sto sistemando la gestione della sidebar di un sito aziendale con blog ed e-commerce annessi, per un utilizzo più intelligente, magari utile, sicuramente meno noioso della sidebar,  solitamente (e giustamente per certi versi)  ignorata dai lettori in favore dei contenuti della pagina, mentre potrebbe essere valorizzata, utilizzata come valore aggiunto ai contenuti della pagina stessa.

Ma ora vediamo come applicare, di massima, il condizionale in WordPress.

Un esempio facile da comprendere è proprio la sidebar classica di WordPress. Nei blog tradizionali è sempre la stessa, con gli stessi widget sia nella home page, che nelle pagine e negli articoli. Solo alcuni temi permettono sidebar differenziate.

Invece potremmo decidere che la sidebar degli articoli contenga determinate informazioni, diverse da quella delle pagine, o degli archivi per una determinata categoria.

Si fa tutto sfruttando le basi del PHP, e le possibilità offerte dal codice di WordPress.

I meno ferrati in programmazione non si devono spaventare, parliamo di cose basilari, alla portata di tutti con un minimo di pratica.

Ora parliamo delle istruzioni per il condizionale in PHP, se avrete la pazienza di seguirmi fino alla fine dell’articolo, vedremo anche un plugin che, associato al condizionale in WordPress, potrà darci una bella mano con la sidebar.

Istruzioni condizionali in PHP:

“se mio nonno aveva le ruote, era una carriola…”

Detta così, in questo contesto, sembra una grande bischerata, ma il concetto calza a pennello: se c’è una data condizione, tu fai questo o comportati in quest’altro modo.
A me serviva che gli articoli di una data categoria  visualizzassero una particolare immagine, ma solo quelli di quella categoria, gli altri no.
Se l’argomento è interessante, vi racconto come ho fatto. Se siete degli sviluppatori PHP, sicuramente si può fare ancora meglio, quindi grazie se vorrete regalarci qualche suggerimento prezioso!  😉

<?php if…

Il “se” è alla base di qualsiasi istruzione condizionale, e naturalmente in PHP, che parla solo in inglese, si traduce in “if”.
Se voglio dire a WordPress “se un articolo appartiene a ad una categoria particolare, devo dirglielo così:

<?php if (in_category('3')) { ?>

A me serviva riconoscere la categoria con ID 3, ma è possibile utilizzare anche il nome breve  o il nome completo. Con l’ID comunque non si sbaglia mai.

Per completare l’opera, ecco un esempio di codice completo:

<?php if (in_category('3')) { ?>
<P>Questo è il testo da scrivere se la categoria corrisponde, altrimenti non scrivere nulla... </P>
<?php } ?>

E se volessimo complicare la condizione con un bel “altrimenti”? Detto fatto…

<?php else…

<?php if (in_category('3')) { ?>
<P>Questo è il testo da scrivere se la categoria corrisponde</P>
<?php } else { ?>
<P>Questo è il testo da scrivere se la categoria è qualsiasi altra.</P>
<?php } ?>

È chiaro no? La condizione “altrimenti” si traduce in “else”.

E se volessimo un “se non corrisponde”?

Anche questo è facile, basta aggiungere un punto interrogativo prima della condizione, prima di “in_category” per capirci meglio:

<?php if (!in_category('3')) { ?>

Ossia, se la categoria non è quella con ID 3…. il resto è uguale all’esempio di prima.

Sono tantissimi i condizionali utilizzabili in WordPress, per home, per pagina o categoria, archivio etc etc, qui di seguito qualche esempio tra quelli più comodi:

is_home()
is_admin()
is_single()
is_page()
is_author()
is_date()
is_archive()
....

La lista è lunga, ed disponibile con tutti i dettagli del caso nella documentazione di WordPress riguardante i Conditional Tags.

Il condizionale in PHP va utilizzato direttamente nel codice dei template, nei file di funzioni o comunque direttamente nei file che compongono il tema (usare i temi child, sempre!), e questo potrebbe spaventare.

C’è un’alternativa, che non richiede di sporcarsi troppo le mani con il php, specie se vogliamo lavorare solo sulla sidebar. Un plugin!

Un plugin per una sidebar dinamica

Ci sono dei plugin che gestiscono le sidebar, ne creano diverse e le associano alle situazioni che ci interessano, ma potrebbero non soddisfare in pieno le nostre esigenze di personalizzazione della sidebar in base ai contenuti.

Io trovo semplicemente fantastico il plugin Widget Logic, una versione un po’ acerba ma perfettamente funzionante, aggiornato di recente, che permette condizioni elaborate ed estremamente funzionali.

Una volta installato e attivato il plugin, in ogni widget ci si trova un nuovo parametro:

Usare il condizionale nella sidebar di WordPress con il plugin Widget Logic

Utilizzato bene, permetterà di avere un totale controllo della sidebar in base al conenuto della pagina visualizzata.

Non serve indicare tutto il codice php, ma solo i tag condizionali di WordPress visti poco sopra (is_home(), is_page(), etc) ed eventualmente qualche operatore logico o di confronto.

Tags: , ,

7 Risposte a “Usare il condizionale in WordPress”

  1. Orsola 4 Feb 2013 at 20:42 #

    Mi garbano i tuoi tutorial! Spiegato da te sembra tutto facile… il da farsi è un tantino (troppo) complicato 😀
    Comunque sia, grazie, mi hai chiarito le idee su tante cose e credo ce avrò bisogno del tuo aiuto ancora tantissime volte 😉
    Ciao
    Orsola

    • Roberto Rota 4 Feb 2013 at 21:38 #

      Grazie Orsola 😉

      ti assicuro comunque che certe cose sono davvero facili, se ci riesce uno gnucco come il sottoscritto…

      Se hai bisogno non esitare!

      rob

Trackbacks/Pingbacks

  1. URL paginati e contenuti duplicati in WordPress | RobRota - 9 Ago 2009

    […] <head> e </head>), direttamente nel file header.php del tema in uso, e grazie all’uso del condizionale in PHP personalizzare questa istruzione per gli URL […]

  2. Il condizionale applicato ai widget di WordPress | RobRota - 2 Mar 2010

    […] già visto i concetti base del PHP condizionale in WordPress, esempi terra-terra da usare per inserire del codice HTML nelle pagine del nostro CMS preferito a […]

  3. √ Come personalizzare WooCommerce con i tag condizionali | robrota - 10 Apr 2013

    […] si personalizza un tema per WordPress, tocca per forza avere a che fare con i tag condizionali di WordPress. In parole povere, sono un sistema per far apparire determinati contenuti in determinate pagine, o […]

  4. √ Jetpack, disponibile nuova versione 2.4 con nuovi moduli | Roberto Rota - 30 Ago 2013

    […] lo strumento migliore è il plugin Widget Logic, che associato all’uso anche combinato dei tag condizionali di WordPress riesce ad offrire possibilità di gran lunga […]

  5. √ Come modificare WordPress a seconda della lingua di WPML | Roberto Rota - 16 Giu 2014

    […] utilizzare un po’ di PHP condizionale (lo abbiamo già visto riguardo WordPress e […]

Dubbi o suggerimenti? Lascia un commento!

I love Instagram