我正在尝试在我正在开发的WordPress插件中向TinyMCE编辑器添加自定义样式表。 WP codex告诉我使用mce_css过滤器,但它没有接缝工作。
很快,当我使用过滤器时,所有主题的自定义样式表都会从编辑器中消失,但我的自定义样式表仍然不存在。
请参阅以下两个屏幕截图,第一个没有过滤器,第二个过滤器已激活:
这是我的代码:
class test_plugin {
function __construct($args = array()){
if ( is_admin() ){
add_action('admin_head', array( $this, 'admin_head') );
add_action( 'admin_enqueue_scripts', array($this , 'admin_enqueue_scripts' ) );
}
}
function admin_head() {
if ( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) ) {
return;
}
if ( 'true' == get_user_option( 'rich_editing' ) ) {
add_filter( 'mce_css', 'plugin_mce_css' );
}
}
function admin_enqueue_scripts(){
// wp_enqueue_style('fa_icon_shortcode', plugins_url( 'css/mce-button.css' , __FILE__ ) );
}
function plugin_mce_css( $mce_css ) {
if ( ! empty( $mce_css ) )
$mce_css .= ',';
$mce_css .= plugins_url( 'editor.css', __FILE__ );
return $mce_css;
}
}
new test_plugin();
知道这里出了什么问题吗?
答案 0 :(得分:1)
这实际上是一个非常简单的解决方案。由于我使用的是OOP,我不得不用
添加过滤器add_filter( 'mce_css', array( $this , 'plugin_mce_css' ) );
而不是
add_filter( 'mce_css', 'plugin_mce_css' );
像魅力一样工作!