У текстовому редакторі, де можна встановити заголовки та інші налаштування, чи можна додати власні стилі, якими користуються клієнти? і навіть видалити непотрібні?
У текстовому редакторі, де можна встановити заголовки та інші налаштування, чи можна додати власні стилі, якими користуються клієнти? і навіть видалити непотрібні?
Відповіді:
«Класичний» редактор TinyMCE має два випадають: formatselect
для стилів абзаців і styleselect
для символьних стилів - які також можуть містити стилі абзацу, щоб зробити його більш заплутаним. Конфігурація в WordPress за замовчуванням показує лише формат, що випадає. Якщо ви застосуєте до редактора користувальницьку таблицю стилів, TinyMCE може використовувати її для підбору назв класів та додавання їх до випадаючого стилю - але це не працювало щоразу для мене.
З 3.0 ви можете зателефонувати add_editor_style()
у свій файл, functions.php
щоб додати таблицю стилів до редактора. За замовчуванням він знаходиться editor-style.css
у вашому каталозі тем. Перед 3.0 вам потрібно зачепитись у mce_css
фільтр, щоб додати URL до таблиці стилів редактора. Це в кінцевому підсумку в на content_css
значення конфігурації TinyMCE .
Щоб додати спадне меню стилю , styleselect
параметр повинен з'явитися в одному з масивів конфігурації рядка кнопок ( theme_advanced_buttons[1-4]
у TinyMCE, відфільтрований mce_buttons_[1-4]
у WordPress). Список форматів блоків управляється з theme_advanced_blockformats
можливістю TinyMCE , який можна додати в масив управління в tiny_mce_before_init
фільтрі. Якщо ви хочете налаштувати імена стилю списку ( а не тільки ваші імена класів CSS), дивіться на в theme_advanced_styles
опції . Ви також можете скористатися більш досконалим style_formats
варіантом, який надає більше гнучкості у визначенні стилів.
Відповідний PHP - код з усією конфігурацією гачків і по замовчуванням знаходиться в wp-admin/includes/post.php
, в функціїwp_tiny_mce()
. Усе разом ваше налаштування могло виглядати так:
add_action( 'after_setup_theme', 'wpse3882_after_setup_theme' );
function wpse3882_after_setup_theme()
{
add_editor_style();
}
add_filter('mce_buttons_2', 'wpse3882_mce_buttons_2');
function wpse3882_mce_buttons_2($buttons)
{
array_unshift($buttons, 'styleselect');
return $buttons;
}
add_filter('tiny_mce_before_init', 'wpse3882_tiny_mce_before_init');
function wpse3882_tiny_mce_before_init($settings)
{
$settings['theme_advanced_blockformats'] = 'p,h1,h2,h3,h4';
// From http://tinymce.moxiecode.com/examples/example_24.php
$style_formats = array(
array('title' => 'Bold text', 'inline' => 'b'),
array('title' => 'Red text', 'inline' => 'span', 'styles' => array('color' => '#ff0000')),
array('title' => 'Red header', 'block' => 'h1', 'styles' => array('color' => '#ff0000')),
array('title' => 'Example 1', 'inline' => 'span', 'classes' => 'example1'),
array('title' => 'Example 2', 'inline' => 'span', 'classes' => 'example2'),
array('title' => 'Table styles'),
array('title' => 'Table row 1', 'selector' => 'tr', 'classes' => 'tablerow1'),
);
// Before 3.1 you needed a special trick to send this array to the configuration.
// See this post history for previous versions.
$settings['style_formats'] = json_encode( $style_formats );
return $settings;
}
Відповідно до цього випадаючого меню формату TinyMCE більше не відображається попередній перегляд стилів
Кара знав це правильно, вам потрібно скасувати стилі за замовчуванням, щоб побачити нові стилі ...
unset($init['preview_styles']);
return $settings;
$settings
тут. Спасибі