【问题标题】:Remove TinyMCE skin from wordpress从 wordpress 中删除 TinyMCE 皮肤
【发布时间】:2015-09-09 14:43:18
【问题描述】:

我一直在寻找一种方法来完全删除应用于 Wordpress 中的 TinyMCE 编辑器的 TinyMCE 皮肤。我正在使用自定义插件来设置后端样式。

目前我正在使用在 css 上标记的 !important 以强制我的样式通过 - eg .mce-window-head {background: blue !important;} 这并不理想。

我尝试在使用 add_action 挂钩时调整优先级,但也没有用。

任何指导将不胜感激。

【问题讨论】:

    标签: wordpress tinymce


    【解决方案1】:

    您需要像这样deregister 编辑器按钮样式表:

    add_action( 'admin_enqueue_scripts', 'so_32482665_remove_editor_buttons_css' );
    
    function so_32482665_remove_editor_buttons_css() {
        wp_deregister_style( 'editor-buttons' );
    }
    

    Dequeuing 不起作用,因为 WordPress 不会以正常方式将样式表排入队列,而是直接使用 wp_print_styles() 打印出来。

    这仍然为您留下了默认的 TinyMCE 皮肤,它看起来像是在 JavaScript 中添加的,因此似乎无法通过操作或过滤器将其删除。虽然这不是最佳实践,但使用 admin_footer 钩子将 link 输出到您的样式表意味着它将在默认皮肤之后加载,并将覆盖样式而无需使用 !important

    add_action( 'admin_footer', 'so_32482665_output_custom_editor_css' );
    
    function so_32482665_output_custom_editor_css() {
    ?>
    <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/custom-editor.css" type="text/css" />
    <?php
    }
    

    我可能会同时使用这两种方法,这样您就不会与来自多个样式表的特定性问题作斗争。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 2023-02-04
      • 2015-04-18
      • 1970-01-01
      相关资源
      最近更新 更多