一个相关的WPSE问题询问如何仅通过指定ID而无需指定分类法来获得该术语。我的问题更具哲学性。通常,WP核心中的内容是有原因的。我试图理解为什么term_id不能成为该术语的主键-为什么我们也需要分类法?单个术语记录可以成为多个分类法的成员吗?目前肯定不支持该API。是否有可能需要这样做的用例?
还是在数据库结构的早期版本的残留痕迹中需要$taxonomy
参数get_term()
?
EXPLAIN
说的结尾term_id
。
一个相关的WPSE问题询问如何仅通过指定ID而无需指定分类法来获得该术语。我的问题更具哲学性。通常,WP核心中的内容是有原因的。我试图理解为什么term_id不能成为该术语的主键-为什么我们也需要分类法?单个术语记录可以成为多个分类法的成员吗?目前肯定不支持该API。是否有可能需要这样做的用例?
还是在数据库结构的早期版本的残留痕迹中需要$taxonomy
参数get_term()
?
EXPLAIN
说的结尾term_id
。
Answers:
我已经用trac记录了与此相关的票证:http : //core.trac.wordpress.org/ticket/20536
但是,事实证明暂时是有必要的,因为WordPress当前(自2.x起)有一个错误,确实会将具有相同名称的两个术语关联到相同的term_id!因此,一个词有可能(尽管不正确)与多个分类法相关联。看到这个错误:http : //core.trac.wordpress.org/ticket/5809
它涉及面很广,因此实施此修复程序需要非常彻底的单元测试。如果有任何发展,我会尽量记住要更新此问题。
为什么还需要分类法?单个术语记录可以成为多个分类法的成员吗?
否。条款有条款支持条款归档。在某些永久链接的情况下,两次塞子会带来很多陷阱或“陷阱”。
是否有可能需要这样做的用例?
是的:假设你有如条款size
,并有三个名为分类length
,width
以及height
(你也能想到的颜色)。但这由于上述原因而不受支持。
通常,WP核心中的内容是有原因的。我试图理解为什么term_id不能成为该术语的主键-为什么我们也需要分类法?
通过查看表格并运行EXPLAIN
,term_id
是主键。我猜在较大的系统上,使用(慢速)联接仅查询分类法特定术语可能比查询所有术语,对其进行排序和过滤所需内容更快。
wp_term_taxonomy
表的分类字段用作该表的索引,这使查询速度更快(即使只是一个术语)。