Настройка TinyMce в WordPress — предотвращение очистки тегов, управление переносами строк и т.д.
Уверен, что вы не раз сталкивались с проблемой, когда стандартный редактор WordPress удаляет теги в редакторе при переходе с текстового в визуальный режим и обратно.
Достаточно часто необходимо переключаться между визуальным и HTML режимом, не говоря уже, что заказчику в 90% случаев удобней делать это в визуальном режиме, но при этом иногда есть необходимость вставить специфичную верстку.
После сохранения такой верстки мы можем увидеть, что часть верстки пропала, переносы расположены не так, как надо и результат может расстроить. Благо, через хуки WordPress мы можем передать параметры в TinyMce.
Для работы с допустимыми тегами можно использовать следующий хук, который необходимо добавить в файл function.php вашей темы:
1 2 3 4 5 6 7 8 | function delfi_tinymce_fix( $init ) { // добавление html элементов, которые не будут стираться $init['extended_valid_elements'] = 'div[*],article[*],noindex[8],ul[class|id]'; return $init; } add_filter('tiny_mce_before_init', 'delfi_tinymce_fix'); |
Параметр extended_valid_elements TinyMce позволяет расширить набор тегов, которые не будут удаляться при сохранении. Мы указали, что div, noindex и article теги будут сохраняться со всеми возможными атрибутами, а ul будет сохраняться только с атрибутами class и id.
Так же можно управлять переносами, заменой переносов на <br>:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function delfi_tinymce_fix( $init ) { // добавление html элементов, которые не будут стираться $init['extended_valid_elements'] = 'div[*],article[*],noindex[*],ul[class|id]'; // не удалять разрывы строк $init['remove_linebreaks'] = false; // конвертировать символы новой строки в BR $init['convert_newlines_to_brs'] = true; // не удалять избыточные BR $init['remove_redundant_brs'] = false; return $init; } add_filter('tiny_mce_before_init', 'delfi_tinymce_fix'); |
Список параметров и их описание можно посмотреть по ссылке.