Elimina párrafos vacíos en WordPress

Si hay algo en que WordPress suele dar muchisima guerra cuando empiezas a usarlo y a desarrollar cosas con el, son los malditos  párrafos en blanco que aparecen en cualquier tipo de post en al usar la función the_content() por ejemplo.

He creado alguna función para esto, adoptado varias pero la definitiva que me ha dado el funcionamiento que quiero y que elimina párrafos vacíos en WordPress de forma eficiente es la siguiente.

<?php
add_filter( 'the_content', 'remove_empty_p', 20, 1 );
function remove_empty_p( $content ){
// clean up p tags around block elements
$content = preg_replace( array(
'#<p>\s*<(div|aside|section|article|header|footer)#',
'#</(div|aside|section|article|header|footer)>\s*</p>#',
'#</(div|aside|section|article|header|footer)>\s*<br ?/?>#',
'#<(div|aside|section|article|header|footer)(.*?)>\s*</p>#',
'#<p>\s*</(div|aside|section|article|header|footer)#',
), array(
'<$1',
'</$1>',
'</$1>',
'<$1$2>',
'</$1',
), $content );
return preg_replace('#<p>(\s|&nbsp;)*+(<br\s*/*>)*(\s|&nbsp;)*</p>#i', '', $content);
}

view raw
remove-empty-p.php
hosted with ❤ by GitHub

Espero que os sirva como me sirve a mi.

Deja un comentario