WordPress — запретить авто в TinyMCE

#wordpress #tinymce

#wordpress #tinymce

Вопрос:

Я использую ACF и использую расширенный плагин TinyMCE.

При редактировании сообщений редактор вставляет новые ссылки в теги p, что я пытаюсь предотвратить, поскольку я использую тег code, и если в коде в теге code есть возврат, он оборачивает его в новый блок p и code, который затем нарушает макет сообщения.

Я попытался поиграть с настройками плагина, чтобы проверить удаление тегов p, однако безуспешно.

Я искал и обнаружил, что я должен установить принудительный корневой блок в значение false, однако я все еще не могу заставить его работать:

 add_filter('tiny_mce_before_init', function ($init) {

        //Prevent <p> tags in editor
        $init['forced_root_block'] = false;
        $init['force_br_newlines'] = false;
        $init['force_p_newlines'] = false;
        $init['convert_newlines_to_brs'] = false;

        return $init;
    });
 

При просмотре сообщения на вкладке «Текст» в коде не отображаются теги P, однако при редактировании на вкладке «Визуальный» все это разбивается на теги p.

Есть идеи о том, как решить?

Ответ №1:

Когда вы выводите содержимое, находясь в цикле, вы можете очистить вывод, чтобы удалить все используемые теги wp_strip_all_tags .

Правильно удалите все HTML-теги, включая скрипт и стиль.

 <?php wp_strip_all_tags( the_content(), true ); ?>
 

( true или false для разрывов строк). То же самое для ACF, просто включите в него вывод.

Кроме того, вы можете удалить любой <p> тег auto, применяемый в качестве разрыва строки, удалив wpautop via remove_filter в вашем function.php файле.

 <?php remove_filter( 'the_content', 'wpautop' ); ?>
 

И с помощью редактора ACF WYSIWYG / TinyMCE

 <?php remove_filter ( 'acf_the_content', 'wpautop' ); ?>
 

Комментарии:

1. возможно ли удалить поле ACF?