我有一个代码片段可以帮助我为可视化编辑器文本颜色下拉列表添加一些自定义颜色以及默认颜色。我正在粘贴下面的片段。
function change_mce_options( $init ) {
$default_colours = '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF';
$custom_colours = 'e14d43,d83131,ed1c24,f99b1c,50b848,00a859,00aae7,282828';
$init['theme_advanced_text_colors'] = $default_colours . ',' . $custom_colours;
$init['theme_advanced_more_colors'] = true;
return $init;
}
add_filter('tiny_mce_before_init', 'change_mce_options');
在wordpress 3.9更新后它停止工作,我已经尝试了很多来解决它,但我无法做到,你能帮帮我吗?
答案 0 :(得分:23)
文字颜色选项为textcolor_map
,每种颜色的格式为"color_hex", "color_name"
。
因此,从您的示例中,只需更改选项名称并将colors数组转换为如下所示:
function my_mce4_options($init) {
$default_colours = '"000000", "Black",
"993300", "Burnt orange",
"333300", "Dark olive",
"003300", "Dark green",
"003366", "Dark azure",
"000080", "Navy Blue",
"333399", "Indigo",
"333333", "Very dark gray",
"800000", "Maroon",
"FF6600", "Orange",
"808000", "Olive",
"008000", "Green",
"008080", "Teal",
"0000FF", "Blue",
"666699", "Grayish blue",
"808080", "Gray",
"FF0000", "Red",
"FF9900", "Amber",
"99CC00", "Yellow green",
"339966", "Sea green",
"33CCCC", "Turquoise",
"3366FF", "Royal blue",
"800080", "Purple",
"999999", "Medium gray",
"FF00FF", "Magenta",
"FFCC00", "Gold",
"FFFF00", "Yellow",
"00FF00", "Lime",
"00FFFF", "Aqua",
"00CCFF", "Sky blue",
"993366", "Red violet",
"FFFFFF", "White",
"FF99CC", "Pink",
"FFCC99", "Peach",
"FFFF99", "Light yellow",
"CCFFCC", "Pale green",
"CCFFFF", "Pale cyan",
"99CCFF", "Light sky blue",
"CC99FF", "Plum"';
$custom_colours = '"E14D43", "Color 1 Name",
"D83131", "Color 2 Name",
"ED1C24", "Color 3 Name",
"F99B1C", "Color 4 Name",
"50B848", "Color 5 Name",
"00A859", "Color 6 Name",
"00AAE7", "Color 7 Name",
"282828", "Color 8 Name"';
// build colour grid default+custom colors
$init['textcolor_map'] = '['.$default_colours.','.$custom_colours.']';
// enable 6th row for custom colours in grid
$init['textcolor_rows'] = 6;
return $init;
}
add_filter('tiny_mce_before_init', 'my_mce4_options');
编辑:默认颜色样本网格是5x8(ROWSxCOLS),并且要在默认颜色网格后附加自定义颜色,我们需要更改行数。上面的代码中包含更改,并在我的blog post中进行了更好的解释。
EDIT2 :现在有颜色选择器插件 - TinyMCE Color Picker,所以WordPress 3.9的所有颜色相关调整现在都已解决了!
编辑3 :上面的颜色选择器已过时。这是截至2016年9月的最新插件:https://wordpress.org/plugins/kt-tinymce-color-grid/
干杯