Запретить редактору удалять теги и заменять их на nbsp


Когда я ввожу контент в WYSIWYG-редактор сообщений/страниц, я не получаю <p> при завершении абзацев, просто &nbsp. Если я вручную помещу <p></p> в режим HTML, они будут удалены, как только я переключусь в "визуальный" режим. Это повторяется на нескольких сайтах (я думал, что это тема, но это не так).

Я прочитал десятки тем и ответов, но ни одна из них не решает мою проблему. Я пытался add/remove wpautop в своем functions.php файл, но ничего не помогает.

Я не хочу использовать tinymce плагин.

Author: Nona Man, 2012-07-26

3 answers

Я провел расширенное исследование и нашел ответ - теперь я использую хук на 'tiny_mce_before_init'.

Основываясь на других ответах (особая благодарность за ответ #2 @Chip Bennett), я использовал следующий код в своем functions.php чтобы закрепить разрывы абзацев (в режиме HTML редактора они отображаются как &nbsp, но становятся абзацами в интерфейсе):

function tinymce_config_59772( $init ) {
   // Don't remove line breaks
   $init['remove_linebreaks'] = false; 
   // Convert newline characters to BR tags
   $init['convert_newlines_to_brs'] = true; 
   // Do not remove redundant BR tags
   $init['remove_redundant_brs'] = false;

   // Pass $init back to WordPress
   return $init;
}
add_filter('tiny_mce_before_init', 'tinymce_config_59772');

Вы можете найти на сайте TinyMCE различные возможные конфигурации.

 3
Author: Nona Man, 2018-01-23 01:15:19

Вы можете попробовать редактор

Редактор Wordpress

 1
Author: Androliyah, 2012-07-26 19:03:00

Вы также можете сказать, что TinyMCE интегрирован с WordPress, и редактор HTML удаляет некоторые символы в пользу &nbsp... первоначально это было сделано для безопасности и убеждения , что нам больше не нужны <br> или <p>

 1
Author: Damien, 2012-07-26 21:01:41