Wordpress remove_meta_box问题

时间:2016-03-25 19:15:44

标签: wordpress

我遇到了一个试图让remove_meta_box()工作的问题

/** remove metabox for catchkathmandu options
     */
    function vpm_remove_meta_box() {
        remove_meta_box( 'catchkathmandu-options', 'post', 'normal' );
        remove_meta_box( 'authordiv' , 'page' , 'normal' ); //removes author
    }
    add_action( 'add_meta_boxes', 'vpm_remove_meta_box' );

关键是我不希望贡献者和作者编辑网站设计,所以我想删除catchkathmandu-options。代码显然没有反映条件,这个函数的codex提供了解决方案,但是这个代码在besic步骤,仍然无法工作 - 我切换回Twenty Sixteen主题并放入authordiv部分只是为了测试。但仍然没有骰子。

它被添加到子主题functions.php

我走错了路吗?我完全看错了吗?

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

我认为您使用的是一个名为" Catch katHmandu"的主题,并且您想删除除管理员以外的所有人的元框。

以下是删除元框的用法:

remove_meta_box( $id, $page, $context );

参考编号:https://codex.wordpress.org/Function_Reference/remove_meta_box

正如您可以在codex上阅读的那样,$ id是您要删除的div的当前ID。我们假设您要删除"标签框",如果查找其容器ID,您会发现:

<div id="tagsdiv-post_tag" class="postbox">
  ...
</div>

如果你想删除标签元框,你的代码将如下所示:

if (!is_admin()) :
  function my_remove_meta_boxes() {
    remove_meta_box('tagsdiv-post_tag', 'page', 'normal');
  }
  add_action( 'admin_menu', 'my_remove_meta_boxes' );
endif;

查找要删除的元框的ID,并使用您的ID重新设置上面代码中的&#34; tagdiv-post_tag&#34;

如果您喜欢我的答案,请单击顶部箭头,作为编码器,这对我来说意味着很多。谢谢!

修改

正如@AndrewSeabrook所说,尝试在你的函数中使用admin_menu hook而不是add_meta_boxes