我有两个分层的自定义分类法,每个分类法都对应一个相应的自定义帖子类型。我想在帖子类型的编辑屏幕上删除每个的metabox。

我已阅读了remove自定义分类法metabox表单自定义帖子类型,以及如何删除类别样式(分层)分类法metabox?但是我仍然被卡住。 。我尝试使用食典委推荐的admin_menu钩子和add_meta_boxes钩子。我已经尝试使用normalside作为第三个参数。

以上函数位于注册帖子类型和分类法的函数下面的mu-plugins文件中。


EDIT:这是register_taxonomy函数中的一个错字。我是一个可怕的人。感谢大家的帮助。我仍然学到了一些东西!

评论

即使使用'show_ui'=>否?

我希望菜单中的UI仍然保持不变,只是在编辑帖子时不希望如此。

#1 楼

如果要通过register_taxonomy手动注册自定义分类法,则可以传入参数来控制metabox的显示位置。

在下面的示例中,将show_ui设置为false将会从编辑屏幕,快速编辑屏幕和管理菜单中完全删除该metabox。但是,如果将show_ui设置为true,则可以通过使用show_in_quick_editmeta_box_cb参数来实现更细微的控制(将后面的参数设置为false可以根据需要在CPT编辑屏幕上隐藏元框)。 />

评论


这行得通。保留管理员菜单并删除表单中的自定义分类,添加新的自定义帖子类型。谢谢。

– IT Vlogs
16 Jun 10'在10:01



谢谢!我一直在寻找'meta_box_cb'=> false以将其隐藏在新版本中,将其设置为null只会显示默认的wordpress版本。

– Ryan H
17年4月1日在13:15

流畅而简单。

–Travis van der字体
18-09-6在9:45

#2 楼

您说要从post编辑屏幕而不是“帖子类型”屏幕中删除这些框,因此假设您应该只能够为要应用的帖子类型注册分类法,并且完全避免这种情况。法典中的示例仅为book帖子类型注册示例分类法,例如:

如果您自己创建了元框(即这些框不是默认框),那么避免此问题的方法是注册帖子类型专用挂钩上的元框:

register_taxonomy( 'genre', array( 'book' ), $args );


或遵循上面的示例: />其中一种方法应该可以为您解决这个问题。我认为您根本不必使用remove_meta_box

如果您尝试从其注册到的帖子类型中删除元框,则此方法有效(再次按照Codex):

do_action('add_meta_boxes_' . $post_type, $post);


我很确定admin_menu为时过早,但没有验证。 add_metaboxes也对我有用。我不知道为什么它对您不起作用。

评论


抱歉,不清楚。我的意思是“帖子类型”屏幕。每种分类法仅注册到一种自定义帖子类型。我尝试短暂使用该add_meta_boxes_ *钩子,但我将尝试对此进行一些更改(尽管我正在使用自动生成的元框)。

–mrwweb
2013年6月11日21:25

然后答案中的最后一个选项应该可以做到。我测试了盒子消失了。我不能说我理解没有分类法的分类法的逻辑。

– s_ha_dum
13年6月11日在21:28

(请参见上面的编辑。这是一个错字。在我身上...谢谢您的帮助)。为了回答您的问题,我在显示带有高级自定义字段的分类法(对于网站用户而言,这是一个更好的界面)。

–mrwweb
13年6月11日在21:34

您的最后一个示例确实使我处于正确的方向,但这对我有用:

– Marcos Buarque
17年12月12日在17:12

我发现此语法不适用于当前版本的WordPress,请查看此答案以获取有效的解决方案。

–戴维
18年5月2日在9:06

#3 楼

分类标准默认使用tagdiv-xxx id注册meta_box。使用ACF进行自定义分类法管理时,不需要默认的元框。我已经成功尝试了以下代码:

      function remove_cuttax_metaboxes() {
           $post_type = 'post';
           $taxonomy = 'custom_taxonomy_slug';
           remove_meta_box( 'tagsdiv-'.$taxonomy, $post_type, 'side' );

       }
       add_action( 'admin_menu' , 'remove_cuttax_metaboxes', 100 );


如果分类法是由CPT-UI之类的插件创建的,则较低的优先级(100)也可使此代码正常工作。

评论


tagsdiv应该有尾随-:remove_meta_box('tagsdiv-'。$ taxonomy,$ post_type,'side');

–格雷格·海古德(Greg Haygood)
19年8月2日在1:33



这在古腾堡不再有效。

– Sudar
20-11-19在8:13