如何隐藏,而不是去掉属性的Metabox?

时间:2014-05-25 作者:Traveler

我需要hide, 并且不要删除后端中的属性元框。

以下代码正在删除元数据库:

function hide_meta_box_attributes() {
remove_meta_box(\'pageparentdiv\', \'post\', \'normal\'); } 
add_filter(\'add_meta_boxes\', \'hide_meta_boxes_attributes\');
问题是,我运行的是分层帖子,这意味着我需要有可能拥有此元数据库启用的帖子和子帖子。当我移除metabox时,该功能不再工作。但对于我的作者,我需要隐藏这些属性metabox。

有人知道如何解决这个问题吗?

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

这个get_hidden_meta_boxes 功能(source link) 提供两个过滤器,可用于隐藏元框。(只选其中一个。)

第一个是default_hidden_meta_boxes (source), 将metabox添加到$hidden数组中默认情况下会隐藏metabox,但用户可以选择“屏幕选项”选项卡并选择启用它。

第二个过滤器被调用hidden_meta_boxes (source), 在此处向$hidden数组中添加元框应该只隐藏该元框句号。

示例使用hidden_meta_boxes 过滤器:

function hide_meta_box_attributes( $hidden, $screen) {

    $hidden[] = \'pageparentdiv\';
    return $hidden;

} 
add_filter(\'hidden_meta_boxes\', \'hide_meta_box_attributes\', 10, 2);

结束

相关推荐

在WordPress中通过metabox选择动态侧边栏

我正在开发一个wordpress主题,其中有3个侧框。我想通过我的管理页面中的metabox选择一个侧栏,以便特定的侧栏显示在前端。我的代码是:-在功能中array( \'name\' => __( \'Select Sidebar\', \'cmb\' ), \'desc\' => __( \'Select Your sidebar\', \'cmb\' ),