WordPress kívülről

Összes img tag span-ok közé

Tudom, nem egy érdekfeszítő a cím, de szerintem rendkívül hasznos lehet sokak számára. Nos sitebuild közben, gyakran kalandozom el és van amikor saját magammal teszek rosszat például, amikor úgy formázok egy képet, hogy span-ok közé teszem. Legutóbb egy speciális képkeret miatt kellett ilyet tennem. Ez az eredményt kellett kihoznom, minden bejegyzésbe tett img tagból:

<span class="osztalyneve"><img alt="Kép alt" src="http://valami.hu/kepeleres/kep.jpg"/></span>

Ez így teljesen rendben is van. Megoldhatnám mondjuk egy rövid kóddal. Nem lenne rossz megoldás, de az ügyfél nem biztos, hogy örülne neki, hiszen csak plusz munkát csinálnék neki. Éppen ezért a jó öreg preg_replace-t hívtam segítségül.

function filter_images($content){
    return preg_replace('/<img (.*) \/>\s*/iU', '<span class="osztalyneve"><b><img \1 /></b></span>', $content);
}
add_filter('the_content', 'filter_images');

A kódot a sablon functions.php fájlba kell illeszteni. Működése egyszerű. A content-ben megkeresem az img tageket és preg_replace segítségével elé és mögé teszem a span-t amire szükségem van. Aki még csak most ismerkedik a preg_replace-el, itt hasznos infókat tudhat meg róla.