在文本编辑器中,您可以在其中设置标题和其他设置,是否可以添加自己的样式供客户端使用?甚至删除不必要的?
在文本编辑器中,您可以在其中设置标题和其他设置,是否可以添加自己的样式供客户端使用?甚至删除不必要的?
Answers:
“经典” 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;
}
Kara正确无误,您需要取消设置默认样式才能查看新样式...
unset($init['preview_styles']);
return $settings;
$settings
此处的内容。谢谢