【问题标题】:WordPress: how to hide toolbar in post editor?WordPress:如何在帖子编辑器中隐藏工具栏?
【发布时间】:2022-02-18 19:21:17
【问题描述】:

我的 WordPress 网站中有一个自定义帖子类型(产品)。

这是 WooCommerce 产品,如果有必要知道的话。

我需要在添加产品页面上将工具栏 (1) 隐藏到 wp-editor 中。 我还需要隐藏“添加媒体”按钮 (2) 和“视觉/文本”选项卡 (3)。

如何隐藏它们?

使用一些钩子将这个 WordPress 编辑器更改为具有相同“名称”属性值的文本区域可能有意义吗?

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    您可以使用function.php或插件来管理此代码。您需要放置一个动作。

    移除媒体按钮:

    function z_remove_media_controls() {
         remove_action( 'media_buttons', 'media_buttons' );
    }
     add_action('admin_head','z_remove_media_controls');
    

    移除视觉标签

    add_filter( 'admin_footer', 'custom_edit_page_js', 99);
    
    function custom_edit_page_js(){ 
    echo '  <style type="text/css">
            a#content-tmce, a#content-tmce:hover, #qt_content_fullscreen{
                display:none;
            }
            </style>';
    echo '  <script type="text/javascript">
            jQuery(document).ready(function(){
                jQuery("#content-tmce").attr("onclick", null);
            });
            </script>'; 
    }
    

    您可以识别帖子类型是,

    if( get_post_type() == 'product' && is_admin()) {
        //do some stuff
    } 
    

    【讨论】:

    • 感谢您的回答!但我只需要在添加产品页面上删除它。
    • 您好,您可以查看帖子类型
    • 我只是为“我只需要在添加产品页面上删除它”编辑一个帖子。
    • 在当前带有经典编辑器的 Wordpress (~5.2) 上,遵循 CSS 规则将隐藏 Text/Visual 选项卡内容:.wp-editor-tabs { display:none;}。 (问题图像中的第三点)。
    • @Felix add_filter( 'wp_default_editor', array($this, 'default_editor') ); 也可以完成这项工作
    【解决方案2】:

    我找到了这个解决方案:

        function hide_toolbar_TinyMCE( $in ) {
            $in['toolbar1'] = '';
            $in['toolbar2'] = '';
            $in['toolbar'] = false;
            return $in; 
        }
        add_filter( 'tiny_mce_before_init', 'hide_toolbar_TinyMCE' );
    

    但它到处隐藏工具栏,因为这是“过滤器”而不是“动作”。 如何仅在产品(自定义帖子类型)添加/编辑页面上隐藏它?

    【讨论】:

      【解决方案3】:

      我发现here这个优雅的解决方案:

      function wpse_199918_wp_editor_settings( $settings, $editor_id ) {
          if ( $editor_id === 'content' && get_current_screen()->post_type === 'custom_post_type' ) {
              $settings['tinymce']   = false;
              $settings['quicktags'] = false;
              $settings['media_buttons'] = false;
          }
      
          return $settings;
      }
      
      add_filter( 'wp_editor_settings', 'wpse_199918_wp_editor_settings', 10, 2 );
      

      【讨论】:

        猜你喜欢
        • 2014-06-21
        • 2019-07-19
        • 2012-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-10
        相关资源
        最近更新 更多