Background
如中所述Is There a Difference Between Taxonomies and Categories, 分类法是指对对象或数据进行分类和组织的通用系统。如果是WordPress;类别、标记、帖子格式(ting)和链接类别是在分类法中构建的,用于帮助分类和组织帖子、链接和元数据。术语是这些分类法的实例;以WordPress关于计算机软件的博客为例。如果其中一个分类法是一个类别,那么其中一个术语就是编程语言,因为编程语言是计算机软件中的一个主题,可以被视为一个分类法。此外,WordPress开发人员和插件开发人员可以利用register_taxonomy()
函数初始化内置分类法,以及在WordPress中创建新分类法。Working with WordPress Categories
好的,WordPress在Taxonomy API (没有codex页面,链接到最新的源代码)。如果我正确理解它们,我可以使用以下一些有希望的功能:get_terms()
: 这个codex 与源代码注释所说的几乎相同;它检索给定分类法或分类法列表中的术语。我可以提供一组参数来更改返回的术语;例如,为了确保我包含的术语是空的(即,在类别或标记的情况下,任何帖子都不会引用),我可以将hide empty参数设置为0
或false
;get_term_heirarchy()
: 以数组形式返回给定术语子级的所有术语IDterm_is_ancestor_of()
: 言行一致;比较两个术语,术语一是参考术语,术语二是检查祖先的术语
Umm, So What About Descendants
我在这里的目标是找出哪些类别没有任何子类别(更一般地说,是后代术语)。我也不想忽略空类别(有子类别但没有任何引用它们的帖子的类别)。WordPress有没有一种简单的搜索方法?如果是,我是否应该担心性能问题?
Some Edits: 为了给将来的参考提供一个例子,这里有一些我正在处理的硬数据。。。
WordPress类别管理视图

WordPress分类表

WordPress术语表

WordPress Term\\u关系表

在我的测试用例中,我想返回以下内容:
未分类的固件和嵌入式系统操作系统和基于Web和Internet的应用程序硬件都没有子项,尽管其中一些没有子项。