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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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| )*+(<br\s*/*>)*(\s| )*</p>#i', '', $content); | |
} |
Espero que os sirva como me sirve a mi.
Deja un comentario