从自定义帖子类型中删除“显示共享按钮”metabox Jetpack

时间:2013-11-27 作者:keeg

我已经安装了Jetpack,现在我的自定义帖子类型有一个元框,上面写着“共享:显示共享按钮”,还有一个复选框。这对于这种自定义帖子类型是不必要的,我想将其全部删除(而不仅仅是通过屏幕选项隐藏它)。

我尝试添加

add_action( \'init\', array( $this, \'my_remove_filters_func\' ) );

function my_remove_filters_func() {
    remove_all_filters( \'the_content\', \'sharing_display\',19 );
    remove_all_filters( \'the_excerpt\', \'sharing_display\',19 );
}
但它似乎不起作用

3 个回复
最合适的回答,由SO网友:Bainternet 整理而成

你可以试试这个

if (is_admin()){
  function my_remove_meta_boxes() {
    global $typenow;
    if( \'YOUR_CUSTOM_POST_TYPE\' == $typenow ) {
      remove_meta_box(\'sharing_meta\', \'YOUR_CUSTOM_POST_TYPE\', \'high\');
    }
  }
  add_action( \'admin_menu\', \'my_remove_meta_boxes\' );
}
这将删除jetpack插件注册的metabox。一定要换衣服YOUR_CUSTOM_POST_TYPE 使用自定义帖子类型的实际名称。

SO网友:Justin Kopepasah

截至年月日Jetpack 3.8.0, 可以使用过滤器删除元盒:

add_filter( \'sharing_meta_box_show\', \'__return_false\' );

因此,在自定义帖子类型页面上,可以使用以下方法:

add_action( \'current_screen\', function() {
    $screen = get_current_screen();

    if ( ! empty( $screen->post_type ) && \'%POST_TYPE%\' === $screen->post_type ) {
        add_filter( \'sharing_meta_box_show\', \'__return_false\' );
    }
});
只需更换%POST_TYPE% 使用自定义帖子类型。

SO网友:Kevin Marsden

接受的解决方案中的代码对我无效,因为admin_menu 开枪太早了。而且highnot a valid argument for remove_meta_box, 所以我用advanced 相反

以下是更新的代码:

if ( is_admin() ){
    function my_remove_meta_boxes() {
        global $typenow;
        if( \'YOUR_CUSTOM_POST_TYPE\' == $typenow ) {
            remove_meta_box( \'sharing_meta\', \'YOUR_CUSTOM_POST_TYPE\', \'advanced\' );
        }
    }
    add_action( \'do_meta_boxes\', \'my_remove_meta_boxes\' );
}

结束

相关推荐

有关保存动态Metabox的问题

因此,我对动态待办事项列表元框存在问题。它应该很简单,除了储蓄,其他一切都在起作用。我已经看了5个小时了,需要一些新鲜的眼睛。 function webm_todo_box(){ global $post; ?> <div id=\"meta_inner\"> <?php //get the saved meta as an arry $TodoList = get_po