Удалить фильтр ("содержимое", "wpautop") не работает
Я попытался отключить функцию автоматического абзаца WP с помощью
remove_filter ('the_content', 'wpautop');
Но я все еще упаковываю свои вещи в автоматические теги <p>
... Что я делаю не так?
Это в нижней части файла функций. Его нет в functions.php, но в файле, который functions.php включает в себя (и помещает его в functions.php вообще не меняет поведение).
Обновление:
var_dump( $wp_filter['the_content'] );
выходы NULL
. Как я могу проверить, почему этот фильтр не запускается?
3 answers
Была та же проблема, исправлена с помощью css:
<style>
p:empty{
height: 0;
margin: 0;
padding: 0;
}
</style>
Если вы используете расширенный плагин TinyMCE, попробуйте снять флажок с этой расширенной опции:
Прекратите удалять теги
И
при сохранении и покажите их в редакторе HTML
Снимите флажок и используйте код remove_filter ('the_content', 'wpautop');
в моем functions.php сделал этот трюк за меня.
Ваш код абсолютно правильный. Вы можете попробовать этот фрагмент в шаблоне, чтобы убедиться, что он удаляется:
var_dump( $wp_filter['the_content'] );
Если это не так, возможно, код никогда не достигнет вашего удаления фильтра (например, return
выше) или фильтр будет добавлен позже каким-либо другим кодом.