在POST_CATEGORIES_METABOX中实施类别层次结构的更好方法?

时间:2011-09-20 作者:Tom Auger

目的是确保在编辑帖子时,列出层次分类法的元盒不会在更新时重新排序,以将选中的项放在顶部。

马上edit-form-advanced.php 呼叫add_meta_box(), 传递的回调post_categories_meta_box, 定义于meta-boxes.php.

post_categories_meta_box() 调用wp_terms_checklist(), 离开checked_ontop 参数未定义。wp_terms_checklist() 该参数默认为true, 这是所有这些胡闹的根本原因。

在我们退出并发现之前,在链条的任何地方都找不到过滤器挂钩add_meta_boxesadd_meta_boxes_{$post_type}.

我能想到的唯一解决办法就是抓住其中一个行动,全球化$wp_meta_boxes, 并替换post_categories_meta_box 用我自己的回调进行回调,在这里我完全复制了所有post_categories_meta_box() 只需添加参数\'checked_ontop\' => false.

作品但很烦人。这似乎很荒谬——难道没有比这更优雅的方式来简单地让您的层次分类法在元数据库中保持其顺序吗?

2 个回复
SO网友:Emyr Thomas

有一个插件专门用来修复WordPress的这个“功能”,它叫做Category Checklist Tree. 尽管名称不同,但它也适用于自定义分类法。

SO网友:Viktor Borítás

现在有一个钩子可以解决这个问题:https://developer.wordpress.org/reference/hooks/wp_terms_checklist_args/

结束

相关推荐

Get taxonomy slug from url

抱歉,我是分类法新手&;努力快速学习。我已经设置了部门并为其分配了一个职位。如果我去邮局,我可以看到网址是www。mydomain。com/扇区/自动/如何从URL获取自动信息?谢谢