Как запретить редактору удалять атрибуты onmouseover и onmouseout?
На вкладке "Текст" редактора, вы можете добавить какой угодно код, но при переключении на визуальный режим редактор удалит все неразрешенные атрибуты вроде onmouseover и onmouseout. Единственный способ сохранить их это не переключаться на вкладку "Визуально", что во многих случаях сделать практически невозможно. Однако, есть способ разрешить использование всех возможных атрибутов для выбранного тега. Скажем, можно научить редактор не удалять какие-либо атрибуты вроде onmouseover и onmouseout у тега img. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//разрешаем все элементы тега img start function wph_add_all_elements($init) { if(current_user_can('unfiltered_html')) { $init['extended_valid_elements'] = 'img[*]'; } return $init; } add_filter('tiny_mce_before_init', 'wph_add_all_elements', 20); //разрешаем все элементы тега img end |
Через запятую можно указать дополнительные теги (например, тег a):
//разрешаем все элементы тега img start function wph_add_all_elements($init) { if(current_user_can('unfiltered_html')) { $init['extended_valid_elements'] = 'img[*],a[*]'; } return $init; } add_filter('tiny_mce_before_init', 'wph_add_all_elements', 20); //разрешаем все элементы тега img end |
Но в любом случае использовать все дополнительные атрибуты сможет только пользователь, которому разрешено использовать нефильтрованный html-код (по умолчанию разрешено только администраторам и редакторам). Отключать проверку на 'unfiltered_html' я крайне не рекомендую во избежание проблем с безопасностью.
ОГРОМНОЕ СПАСИБО АВТОРУ!!! Больше года мучился, на главной были размещены атрибуты onmouseover и onmouseout, приходилось все это время редактировать главную страницу только в текстовом редакторе. Как же это неудобно! Но теперь все работает и в визуальном редакторе, еще раз спасибо!
У меня к автору вопрос. Подобная проблема с выводом спойлера. Вот код:
Название спойлера
Текст под спойлером
плавно появляется
и плавно исчезает
при клике по спойлеру
При переходе в визуальный редактор часть кода пропадает и спойлер некорректно отображается.
Может вы знаете, что в данном случае можно сделать, чтобы при переходе в визуальный код не пропадал?
вы точный код то приведите (кнопочкой Код воспользуйтесь).
Можете подсказать пожалуйста, я вставил код в function.php, добавил там тег onclick но код не работает, при переходе в визуальный редактор всё равно этот тег вырезается...может после обновлений плагина этот код уже не работает?
Onclick не тег, а функция тега ссылки, например. Поэтому если в ссылке или в картинке onclick - код ниже как-раз и сработает.
//разрешаем все элементы тега img start
function wph_add_all_elements($init) {
if(current_user_can('unfiltered_html')) {
$init['extended_valid_elements'] = 'img[*],a[*]';
}
return $init;
}
add_filter('tiny_mce_before_init', 'wph_add_all_elements', 20);
//разрешаем все элементы тега img end
Спасибо тебе, добрый человек!
Единственное место в инете, где удалось найти действенный метод, как разрешить использование a href= onclick=
Как сделать, чтобы редактор не вырезал