如何从每种帖子类型中删除“发布元数据”

时间:2015-12-09 作者:Jakub Kohout

有没有办法,如何从每个帖子类型(post、page、custom\\u post\\u type)中删除“Publish metabox”任何内容。

我知道如何为每种帖子类型手动删除它,但如何全局删除?

remove_metabox(...)

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

如果您熟悉浏览器开发人员工具,可以快速找到metabox ID(即容器div ID)。在这种情况下,它被称为submitdiv. 我们可以使用remove_meta_box() 具有如下格式的函数:

remove_meta_box( \'metabox_id\', \'post_type\', \'default_position\' );
remove_meta_box( \'submitdiv\',  \'post\',      \'side\'             );
这里有一个list of default metabox ids. 如果我们想从所有帖子类型中删除某个元框,我们首先需要使用get_post_types() 返回数组的函数。然后我们可以循环并删除通过post_type 进入我们的remove_meta_box() 作用

/**
 * Hide Metaboxes For All Post Types
 */
function hide_publish_metabox() {
    $post_types = get_post_types( \'\', \'names\' );

    if( ! empty( $post_types ) ) {
        foreach( $post_types as $type ) {
            remove_meta_box( \'submitdiv\', $type, \'side\' );
        }
    }
}
add_action( \'do_meta_boxes\', \'hide_publish_metabox\' );