Як відключити TinyMCE від видалення тегів span


10

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

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, все одно будуть виконуватися.

Відповіді:


6

Я не зміг знайти extended_valid_elementsпараметр на панелі налаштувань для розширеного TinyMCE, але додавши наступне до мого 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');

Джерело


4

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


Дякуємо, TinyMCE Advanced робить те саме, що і мій код вище, щоб додати розширені_валіді_елементів. Але я буду це з плагіном. Можливо, я є помилка десь у своєму коді.
ltfishie

Встановіть і спробуйте - якщо він працює, то проблема полягає у вашому коді. Якщо це не так, щось інше переосмислює його на рівні плагіна або теми.
SickHippie

2
Я не зміг знайти місце в останній версії TinyMCE Advanced, щоб додати елементи
Nicola Peluchetti

Це не дивно, адже цій посаді 3 1/2 року.
SickHippie

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.