Вопрос: Как добавить класс к элементу вывода html в выпадающем меню пункта tinyMCE

Я попытался изменить поведение TinyMCE в functions.php. Я пытаюсь достичь этого, например. h4 получает класс "headliner" по умолчанию. Я на полпути там. Я нашел параметр для создания раскрывающегося меню, и в нем содержатся мои собственные стили /классы:

function tinymce_mod( $init ) {    $init['theme_advanced_buttons2_add'] = 'styleselect';    $init['theme_advanced_styles'] = "Header 4=mus-bi";    return $init;}add_filter('tiny_mce_before_init', 'tinymce_mod');

, но в этом случае довольно сложно создать два раскрывающихся меню, связанных со стилями:

раскрывающиеся списки абзацев и стилей

Поэтому можно было бы просто изменить родные стили wp в раскрывающемся списке абзаца и назначить класс "заголовок" заголовку 4 в раскрывающемся там абзаце и сбросить раскрывающийся список стилей? С наилучшими пожеланиями, Ральф

Ответы и комментарии:

хммм, я пытался сохранить вещи и показывать редактору только «разрешенные» стили в бэкэнде, чтобы избежать проблем. Была еще цель изменить настройки в выпадающем меню абзаца. Но я думаю, это более чисто, чтобы пойти с вашим предложением. Только одна небольшая проблема с реализацией. Я добавил выпадающий список стилей с помощью styleselect, но я не могу применить стиль к текстовому фрагменту. пользовательский стиль вообще не кликабелен? также установленный класс не применяется, хотя :( и вы думаете, что все еще имеет смысл скрывать абзац?
Создан 07-03-2014 11:20 rpk

или добавление выпадающего списка styleselect не является необходимым, и только код, который вы вставили, сам по себе? Означает, что вы назначаете стиль абзаца h4 в раскрывающемся списке абзаца, и заголовок класса применяется автоматически, как определено в функции. но я не учел выбор стиля сейчас и применил только функцию, как вы сказали, но также тот же эффект. класс не применяется. : s
Создан 07-03-2014 11:34 rpk

На мой взгляд, использование раскрывающегося списка «Стили» полезно, чтобы показать, что конкретный стиль, который вы добавляете, является особенным, а не стандартным стилем элемента темы для p, h1, h2 и т. Д.
Примеры в Кодексе должны быть достаточно хорошими при изложении этого: http://codex.wordpress.org/TinyMCE_Custom_Styles
// функция обратного вызова для фильтрации настроек MCE
function my_mce_before_init_insert_formats ($ init_array) {

// Определяем массив style_formats
$ style_formats = array (

    // Каждый дочерний массив - это формат со своими настройками
    массив (
        'title' => 'H4 Headliner',
        'block' => 'h4',
        'classes' => 'headliner',
        'обертка' => правда,
    ),
);

// Вставляем массив JSON ENCODED в style_formats
$ init_array ['style_formats'] = json_encode ($ style_formats);
вернуть $ init_array;

 }
// Прикрепить обратный вызов к tiny_mce_before_init
add_filter ('tiny_mce_before_init', 'my_mce_before_init_insert_formats');

Другой вариант - просто стилизовать элемент h4 в стиле «headliner», который вы хотите использовать в своей таблице стилей. Если стиль "headliner" используется по умолчанию, вам не нужно добавлять специальный класс или идентификатор.
#content h4 {
    (ваши стили здесь)
}
Создан 06-03-2014 06:35