Stop WordPress from wrapping <img> up with <p>
Img: “WordPress, why you wanna wrap me up?”
WordPress: “You looked cold.”
Img: “Well I’m not.”
WordPress: “Oh.”
Here’s how to stop that from happening:
// stop wordpress from wrapping images in <p> tags function filter_ptags_on_images($content) { // do a regular expression replace... // find all p tags that have just // <p>maybe some white space<img all stuff up to /> then maybe whitespace </p> // replace it with just the image tag... return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); } // we want it to be run after the autop stuff... 10 is default. add_filter('the_content', 'filter_ptags_on_images');Published on April 20, 2012