пятница, 8 июля 2016 г.

Как сделать, чтобы tinyMCE не вырезал html тэги в wordpress

tinyMCE, как и другие подобные редакторы вырезает html тэги по своему усмотрению. Это происходит при переключении из режима редактирования кода в визуальный режим. При этом в wordpress почему-то не предусмотрено никаких стандартных настроек, чтобы отменить подобное поведение редактора.

Для того чтобы запретить удалять определенные тэги, их надо указать в параметре extended_valid_elements. Весь вопрос, где найти этот параметр.

Первое, что можно сделать  - это отредактировать файл class-wp-editor.php, который находится в папке wp-includes. Например, так - найти инициализацию массива $mceInit где-то на 680 строке перед комментарием: // Merge with the first part of the init array и добавить к нему элемент extended_valid_elements со значениями, представляющими собой тэги, которые не надо вырезать. После тэгов указан символ * в квадратных скобках для исключения не только самих тэгов, но и их параметров.


Но данный вариант не очень практичный, т.к. после обновления версии worppress, скорее всего, придется вновь все переделывать.

Второй вариант улучшенный - через фильтр, который добавляется в функцию темы.


Другая возможная проблема с редактором tinyMCE, которая может создавать неудобства, это расстановка тэгов p и br, которые не видны при просмотре кода в самом редакторе.

У меня этот не понятно кому нужный "функционал" получилось убрать через редактор tinyMCE Advanced, включением опции: Keep paragraph tags. Через remove_action в функции темы не заработало.

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

Отправить комментарий