选择父项和子项时,自定义层次分类将丢失接口层次结构

时间:2010-10-27 作者:Gavin

我有一个称为“类别”的自定义层次分类法,但与默认的“类别”分类法不同,它服务于站点的不同区域。我遇到的问题是在发布内容时在界面中选择子术语。如果用户选择和子术语,它们将移动到“类别”框的顶部,并失去与其父项的关联和视觉层次结构。下面的图片显示了发生的情况:

Checked categories are moved to the top of the list, breaking the hierarchy

据我所知,我没有设置任何异常参数,下面是register\\u taxonomy调用:

register_taxonomy( "workshop_categories", \'workshop\',
    array(
        "label" => "Categories",
        "singular_label" => "Category",
        "rewrite" => true,
        "show_ui" => "true",
        \'hierarchical\' => true,
        \'rewrite\' => array(\'slug\' => \'category\')
    )
);
欢迎您的任何意见!

4 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

这似乎很正常,对于类别也是如此。这个wp_terms_checklist(), 它创建了清单,有一个参数checked_ontop, 默认情况下启用。代谢箱does not override this, 因此,选中的类别或自定义术语始终显示在列表的顶部。这并不影响它们的实际层次结构,只影响它们在那里的显示方式。层次结构中“丢失”父项的其余项似乎添加到了底部。

我不认为有一种合理的方法可以覆盖它,除非您想复制整个元框代码。

SO网友:Yamu

如果有人仍在搜索解决方案,可以使用此挂钩。

function ya_disable_popular_ontop($args) {
   //If this is your required taxonomy then disable the popular on top.
    if($args[\'taxonomy\'] == \'YOUR-TAXONOMY\'){
        $args[\'checked_ontop\'] = false;
    }
    return $args;
}
add_filter(\'wp_terms_checklist_args\',\'ya_disable_popular_ontop\');

SO网友:Constant Meiring

有点晚了,但如果有人遇到这个问题,可以通过以下帖子解决:Hierarchical taxonomy UI

SO网友:Elio

不确定我是否可以在这里发布外部链接,但我只是solved this 用于自定义分类法或WordPress内部类别。

结束

相关推荐

Saving Taxonomy Terms

我有一个有趣的问题,希望有人能尽快回答。我已经创建了自己的metabox,它基于“我的metabox代码”(下面的列表)正确地显示了我创建的“event\\u types”分类中所有术语的下拉列表。我遇到的问题是,当从下拉列表中选择不同的术语并更新帖子时,能够保存/更新与帖子相关的术语。在对各种代码位进行修补之后,我发现通过手动将term\\u ID number[用逗号分隔]输入数组区域,我得到了我想要的结果。例如,如果在保存帖子时,函数将调用此代码wp_set_post_terms( $post_id