回答:
:「古典的な」TinyMCEのエディタは2つのドロップダウン持つ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 でフィルター処理されます)。ブロック形式のリストは、フィルタの制御配列に追加できるTinyMCE のtheme_advanced_blockformats
オプションによって制御されtiny_mce_before_init
ます。スタイルのドロップダウンの名前(CSSクラス名だけでなく)をカスタマイズする場合は、theme_advanced_styles
オプションを見てください。より高度なstyle_formats
オプションを使用して、スタイルをより柔軟に定義することもできます。
すべてのフックとデフォルト設定を含む関連するPHPコードはwp-admin/includes/post.php
、in、functionにあります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形式のドロップダウンにはスタイルプレビューが表示されなくなりました
Karaは正しかったので、新しいスタイルを表示するにはデフォルトのスタイルを設定解除する必要があります...
unset($init['preview_styles']);
return $settings;
$settings
。たとえば、何がここにあるのか明確ではありません。ありがとう