我正在尝试添加h1,h2。。在TinyMCE样式下拉列表中,使用我的其他html元素。我尝试了以下代码,但问题是如果我使用span
作为“块”值。如果我使用div、h3、h4,代码不会添加任何内容
我已经寻找了很多解决方案,但没有找到任何有用的。
你能告诉我如何解决这个问题吗?
仅供参考:我正在使用wordpress 3.5.1
function my_mce_buttons_2( $buttons ) {
array_unshift( $buttons, \'styleselect\' );
return $buttons;
}
// Register our callback to the appropriate filter
add_filter(\'mce_buttons_2\', \'my_mce_buttons_2\');
// Callback function to filter the MCE settings
function my_mce_before_init_insert_formats( $init_array ) {
// Define the style_formats array
$style_formats = array(
// Each array child is a format with it\'s own settings
array(
\'title\' => \'Head\',
\'block\' => \'h4\',
\'classes\' => \'headings\',
\'wrapper\' => true,
),
array(
\'title\' => \'Sub Heading\',
\'block\' => \'span\',
\'classes\' => \'subheadlines2\',
\'wrapper\' => true,
),
);
// Insert the array, JSON ENCODED, into \'style_formats\'
$init_array[\'style_formats\'] = json_encode( $style_formats );
return $init_array;
}
// Attach callback to \'tiny_mce_before_init\'
add_filter( \'tiny_mce_before_init\', \'my_mce_before_init_insert_formats\' );
SO网友:Canelo Digital
我想这是个误会。。。
您要做的是覆盖文本编辑器的默认样式。。。这很简单,只需包含在functions.php
:
add_filter( \'tiny_mce_before_init\', \'my_mce_before_init_insert_formats\' );
function my_theme_add_editor_styles() {
add_editor_style( \'custom-editor-style.css\' );
}
add_action( \'init\', \'my_theme_add_editor_styles\' );
并创建
custom-editor-style.css
覆盖css类的位置:
#tinymce {}
#tinymce h1 {}
#tinymce h2 {}
#tinymce h3 {}
在“格式”下拉列表中,不能覆盖默认类,但可以生成新类。正如您所注意到的,它们总是围绕要格式化的内容构建一个span或div容器。不幸的是,除了在html中编辑文本而不是在可视化编辑器中编辑文本外,您无法为此目的堆叠内部类。