TinyMCE Styles下拉菜单不添加除span之外的html标签

时间:2013-10-01 作者:black_belt

我正在尝试添加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\' ); 

2 个回复
SO网友:Dale Sattler

遇到相同问题,请尝试从设置数组中取出包装器值。

array(  
    \'title\' => \'Head\',  
    \'block\' => \'h4\',  
    \'classes\' => \'headings\'
), 

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中编辑文本而不是在可视化编辑器中编辑文本外,您无法为此目的堆叠内部类。

结束

相关推荐

意外删除了wp_options数据库表的active_plugins部分

好吧,所以我很确定我在这里完蛋了,因为我没有数据库备份,但我想我还是问问以防万一。在PhpMyAdmin中,我的意思是只需转到wp\\u options表并清空该表中的active\\u plugins部分,因为插件错误而无法登录。我点击了删除按钮,而不是清空它。是否有任何方法可以手动添加此表的active\\u插件部分?我尝试了修复数据库的方法,但没有成功。