Как отключить удаление тегов span в TinyMCE

18 мая 2012 г., 17:47:34
Просмотры: 37.9K
Голосов: 12

Я публикую HTML, сгенерированный Word, в WordPress через XMLRPC. До того, как данные попадают в post.php, формат корректно сохраняется в базе данных. TinyMCE выполняет свою обработку, и я теряю множество деталей форматирования.
Основная проблема, которую я наблюдаю, заключается в том, что тег <span> с информацией о стилях, окружающий другие элементы, удаляется. Я проверил, что эти теги действительно удаляются именно TinyMCE, а не Kses. Есть ли способ предотвратить изменение HTML редактором TinyMCE? Я пробовал следующее:

add_filter('tiny_mce_before_init', 'tinymce_init');

function tinymce_init( $init ) {
    $init['extended_valid_elements'] .= ', span[style|id|nam|class|lang]';
    $init['verify_html'] = false;
    return $init;
}

но это не помогло. Согласно документации TinyMCE, "verify_html"

Эта опция включает или отключает функциональность очистки элементов. Если установить эту опцию в false, вся очистка элементов будет пропущена, но другие функции очистки, такие как преобразование URL, все равно будут выполняться.

0
Все ответы на вопрос 3
1

Я не смог найти опцию extended_valid_elements в панели настроек TinyMCE advanced, но добавление следующего кода в мой functions.php решило проблему:

function override_mce_options($initArray) {
    $opts = '*[*]';
    $initArray['valid_elements'] = $opts;
    $initArray['extended_valid_elements'] = $opts;
    return $initArray;
} add_filter('tiny_mce_before_init', 'override_mce_options');

Источник

30 сент. 2014 г. 10:10:16
Комментарии

Примечание: не сработало для меня в WP 6.6.2. Все еще сильно искажает мой HTML - перемещает теги, удаляет теги, заменяет сущности и делает другие подобные вещи.

John Smith John Smith
2 нояб. 2024 г. 01:32:49
4

Я почти всегда использую плагин TinyMCE Advanced - на его странице настроек (Настройки → Конфигурация TinyMCE) есть возможность добавить поддерживаемые теги с помощью опции extended_valid_elements. Просто добавьте span и любые другие теги, которые вы не хотите удалять, и наслаждайтесь!

23 мая 2012 г. 02:19:46
Комментарии

Спасибо, TinyMCE Advanced делает точно то же самое, что и мой код выше, для добавления extended_valid_elements. Но я воспользуюсь плагином. Возможно, в моем коде есть какая-то ошибка.

ltfishie ltfishie
23 мая 2012 г. 08:16:24

Установите его и протестируйте — если всё работает, значит проблема в вашем коде. Если нет, значит что-то переопределяет его на уровне плагина или темы.

SickHippie SickHippie
23 мая 2012 г. 19:14:28

Я не смог найти место в последней версии TinyMCE Advanced для добавления элементов

Nicola Peluchetti Nicola Peluchetti
24 окт. 2015 г. 16:33:06

Это неудивительно, поскольку эта публикация уже 3,5 года.

SickHippie SickHippie
25 окт. 2015 г. 02:29:08
0

Если вы используете плагин TinyMCE Advanced, для него есть дополнительный плагин под названием TinyMCE Advanced Configuration, с помощью которого можно изменять настройки конфигурации, например параметр extended_valid_elements.

25 мар. 2020 г. 15:15:32