Abbiamo 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 seconda di determinate condizioni, ad esempio se si tratta di una pagina o di un post, se un post appartiene o meno ad una categoria o se è scritto da un autore piuttosto che un altro.
Spesso si tratta di poche righe da modificare, ma che comunque richiedono un minimo di perizia con il codice PHP e la struttura di WordPress.
Sono tantissime le occasioni in cui il condizionale in WordPress torna particolarmente utile, chi ama personalizzare i propri temi lo sa bene, e sa pure che c’è un caso in cui l’utilizzo del consizionale in WordPress porta numerosi vantaggi in termini di usabilità, la gestione dinamica delle sidebar.
Gestione di sidebar personalizzate.
Una sidebar sempre uguale, sempre con gli stessi widget, indipendentemente che si stia navigando sulla home page o in una pagina, piuttosto che in un archivio, alla lunga diventa noiosa.
Una sidebar personalizzata a seconda della categoria o dell’autore, ma le modalità di personalizzazione si sprecano, può arricchire dinamicamente i contenuti in modo correlato, offrendo un motivo in più per trattenere il visitatore di passaggio sulle pagine del blog qualche secondo in più, prima che rimbalzi altrove.
Per chi smanetta con il codice la soluzione è relativamente semplice, si possono creare tanti cloni della sidebar, diversificarli a seconda delle esigenze e richiamarli nelle pagine grazie a delle strutture di condizionale in PHP, oppure si può lavorare all’interno dell’unica sidebar con dei condizionali particolarmente arzigogolati.
Per chi è allergico all’editare il codice di WordPress e dei temi c’è un plugin particolarmente comodo, Widget Logic, che permette di fare più o meno la stessa cosa direttamente sul singolo widget.
Vediamo come funziona Widget Logic
Va subito detto che ufficialmente il widget, fermo all’acerba versione 0.4.6 dello scorso giugno, viene dichiarato come compatibile con la versione 2.8 di WordPress, ma molti utilizzatori dell’attuale 2.9.2 (di WordPress) ne hanno testimoniato il corretto funzionamento. Mi aggiungo pure io al coro di questi ultimi, tanto che il widget in questione è operativo su almeno un paio di WordPress che gestisco, compreso questo.
Una volta installato il plugin, operazione su cui non mi ci soffermo nemmeno vista la sua semplicità, basta aprire qualsiasi widget installato e come ultima voce appare proprio Widget Logic, come evidenziato in questa immagine:
Lasciando questa voce vuota (opzione di default), il widget apparirà ovunque, se invece vi si inserisce qualsiasi condizione utile, nell’esempio la condizione richiesta affinché il widget sia visibile è che la pagina sia una pagina singola, un post.
Il widget accetta anche sintassi molto complesse, come si può vedere nelle pagina delle note del plugin, tanto da renderlo efficace anche in situazioni di strutture condizionali particolarmente strutturate, ma per queste bisogna essere un tantinello affiatati con i Tag Condizionali di WordPress (documentazione ufficiale in inglese).
Chi desidera un’infarinatura leggera leggera, per iniziare può dare un’occhiata prima a questa pagina, dedicata all’argomento “Come usare i Tag condizionali in WordPress“.
La comodità di questo plugin credo sia particolarmente evidente, specie a chi non ha molta dimestichezza con le modifiche direttamente nel codice di WordPress. L’unico dubbio è nel caso di pagine con tanti widget e molte situazioni condizionali da gestire, le query in questo caso potrebbero aumentare tanto da rallentare il caricamento delle pagine e questo potrebbe non essere tanto bello, ma non ho potuto verificarlo in quanto nei blog in cui lo sto utilizzando i widget sono pochi e altrettanto poche e particolarmente semplici i tag condizionali applicati.
Sarebbe molto utile il parere di chi lo sta utilizzando in sidebar più strutturate e complesse, per capire se in questi casi le prestazioni del blog ne risentono o se oppure si tratta di un calo accettabile.
Speriamo anche che Alan Trewartha, lo sviluppatore del plugin comunque attivo nel suo blog, ne prosegua lo sviluppo.
2 risposte