Eliminar etiquetas de párrafo de alrededor de imágenes | Programar Plus

En caso de que quieras tener <img> en su contenido, pero no hacer que obtengan “Auto P’d” como le gusta hacer a WordPress.

ejemplo de problema:

blah blah blah

<img src="https://css-tricks.com/snippets/wordpress/remove-paragraph-tags-from-around-images/monkey.jpg">

blah blah blah

se convierte en:

<p>blah blah blah</p>

<p><img src="https://css-tricks.com/snippets/wordpress/remove-paragraph-tags-from-around-images/monkey.jpg"></p>

<p>blah blah blah</p>

Podemos arreglarlo con esto:

function filter_ptags_on_images($content){
   return preg_replace('​/<p>s*(<a .*>)?s*(<img .* />)s*(</a>)?s*</p>/iU', '123', $content);
}

add_filter('the_content', 'filter_ptags_on_images');

Tenga mucho cuidado si copia y pega lo anterior. Tuve que poner un espacio de ancho cero después de la apertura en la función preg_replace para resolver un problema de representación. Al copiar y pegar, definitivamente deberá eliminar el espacio de ancho cero.

Para su archivo `functions.php`, o consulte la URL de referencia para un complemento. Con esto en su lugar, obtenemos:

<p>blah blah blah</p>

<img src="https://css-tricks.com/snippets/wordpress/remove-paragraph-tags-from-around-images/monkey.jpg">

<p>blah blah blah</p>

… lo que significa que cosas como hacer flotar las imágenes será mucho más fácil.