Corsi on-line

WordPress: aggiungere rel=”lightbox” a tutte le immagini di un post

In questi giorni ho dovuto eseguire qualche adattamento ad un vecchio blog gestito tramite WordPress; tra le funzionalità aggiuntive richieste vi era anche l’inserimento automatico di un collegamento a lightbox per l’ingrandimento delle immagini tramite visualizzatori JavaScript/CSS; non avendolo mai fatto prima, ho eseguito qualche ricerca in Rete fino a trovare la soluzione corretta in uno snippet pubblicato qualche tempo fa su WPsnipp.com.

Per ottenere il comportamento desiderato sarà necessario inserire il seguente codice sorgente all’interno del file “functions.php”:

add_filter('the_content', 'my_addlightboxrel');
function my_addlightboxrel($content) {
global $post;
$pattern ="/<a(.*?)href=('|\")(.*?).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>/i";
$replacement = '<a$1href=$2$3.$4$5 rel="lightbox" title="'.$post->post_title.'"$6>';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}

Come potrete notare, il filtro precedentemente definito prevede in pratica di rilevare tutti i formati immagine compatibili con i browser Internet, essi vengono intercettati come parte di un pattern che viene “manipolato per sostituzione” in modo da contenere anche il rel=”lightbox”.

Lo stesso script potrà essere utilizzato per associare alla proprietà “rel” qualsiasi altro attributo a seconda dello script che si desidera adottare; da sottolineare inoltre il fatto che la stringa utilizzata per la sostituzione aggiunge al collegamento anche un “title” descrittivo che ha come parametro il titolo del post.

Post correlati
I più letti del mese
Tematiche