Elimina las etiquetas párrafo fantasmas de las imágenes y videos en WordPress

párrafos fantasmas

Un truco sencillo para optimizar un poquito más el código de nuestras entradas.

WordPress es una herramienta estupenda. Nos facilita cosas como añadir etiquetas de párrafos <p> automáticas en nuestras entradas, pero muchas veces estas etiquetas no hacen otra cosa que ensuciar nuestro HTML ya que añade las etiquetas a cualquier cosa que pongamos, ya sean imágenes o videos incrustados (pegando la url).

Hay soluciones que permiten desactivar completamente las etiquetas <p> automaticas pero muchas veces no nos interesa, ya sea por la comodidad de no tener que estar escribiendo las etiquetas continuamente, o porque sea un sitio para un cliente que no conoce el lenguaje HTML.

Con este código en nuestro functions.php ya podemos olvidarnos de esa molesta funcionalidad, sin tener que desactivar los párrafos automáticos completamente.

//filtra las etiquetas <p> de imágenes e iframes
function filter_ptags_on_images_iframes($content)
  {
    $content = preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
    return preg_replace('/<p>\s*(<iframe .*>*.<\/iframe>)\s*<\/p>/iU', '\1', $content);
  }
add_filter('the_content', 'filter_ptags_on_images_iframes');

Sacado de blog.iamcreative.me