如何在tinyMCE段落下拉菜单中向html输出元素添加类

时间:2014-03-06 作者:rkoller

我试图修改函数中的TinyMCE行为。php。我试图做到这一点,例如h4在每次违约时都会得到一类“头条新闻”。我已经走到一半了。我找到了创建下拉菜单的设置,其中填充了我的自定义样式/类:

function tinymce_mod( $init ) {
    $init[\'theme_advanced_buttons2_add\'] = \'styleselect\';
    $init[\'theme_advanced_styles\'] = "Header 4=mus-bi";
    return $init;
}
add_filter(\'tiny_mce_before_init\', \'tinymce_mod\');
但这样一来,有两个与样式相关的下拉菜单就相当令人困惑了:

paragraph and style drop downs

那么,是否可以只更改段落下拉列表中的wp原生样式,并将类“headliner”指定给段落下拉列表中的标题4,然后下拉样式下拉列表?向拉尔夫致意

1 个回复
SO网友:Stephen S.

在我看来,使用“样式”下拉列表有助于显示您添加的特定样式是特殊的,而不是主题的标准元素样式(p、h1、h2等)。

法典中的例子很好地概括了这一点:http://codex.wordpress.org/TinyMCE_Custom_Styles

// 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\' => \'H4 Headliner\',  
        \'block\' => \'h4\',  
        \'classes\' => \'headliner\',
        \'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\' );  
另一种选择是只设计h4 元素,该元素具有样式表中所需的“headliner”样式。如果“headliner”样式是默认样式,那么您实际上不需要添加特殊的类或id。

#content h4 {
    (your styles here)
}

结束