it-swarm.com.ru

Пользовательские стили TinyMCE удаляют класс при переключении стилей

Я добавил несколько пользовательских стилей в редактор TinyMCE, используя фильтр tiny_mce_before_init. Они работают, добавляя классы к элементу уровня блока. Смотрите код ниже:

function byron_mce_before_init($settings) {
    $style_formats = [
        [
            'title' => 'Lead',
            'block' => 'p',
            'classes' => 'lead',
        ],
        [
            'title' => 'Tagline',
            'block' => 'h5',
            'classes' => 'tagline',
        ],
    ];
    $settings['style_formats'] = json_encode($style_formats);
    return $settings;
}
add_filter('tiny_mce_before_init', 'byron_mce_before_init');

У меня проблема в том, что при переключении между стилями, определенными выше, класс не удаляется; вместо этого новый класс добавляется к старому классу вместо его замены. Я не могу понять, как удалить старые классы при переключении между стилями. Любая помощь будет принята с благодарностью.

2
Connor

Кажется, вопрос был задан на community.tinymce.com, а ответ здесь: https://community.tinymce.com/communityQuestion?id=90661000000IiyjAAC

Вы не можете заставить определенный стиль удалить любые предыдущие классы, но вы можете снова "применить" стиль, выбрав его из выпадающего списка, и он будет удален - т.е. класс будет удален из тега. , Затем вы можете выбрать другой стиль из выпадающего списка, и класс, соответствующий этому стилю, будет добавлен в тег.

1
Nat