即使在多个自定义分类之间,术语ID也是唯一的吗

时间:2014-06-04 作者:Ashkas

我在Wordpress或here上都找不到这个问题的答案,也无法通过谷歌搜索找到答案,所以我将这个问题提交给社区。

如果有两个分类法,并且为每个分类法添加了一个术语,那么在taxonomy\\u 1中添加的第一个术语的术语ID是否为1,而在taxonomy\\u 2中添加的第二个术语的术语ID是否为2?

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

简而言之,答案是否定的。如果您查看术语、分类法和类别,它们都存储在wp_terms 桌子

其中每一个都分配了一个数值,该数值对于该术语/类别/分类法是唯一的。这不仅仅适用于添加到wp_terms, 但添加到db中特定表中的任何内容。因此,添加到特定表中的任何内容都不会具有相同的ID

这些ID是根据“对象”在特定表格中的位置按数字顺序分配的。因此,如果该特定表格中的最后一项是数字16,则添加的下一项将是数字17,因此ID 17将分配给该“对象”。然后,添加的下一个“对象”将自动为ID 18,以此类推

因此,综上所述,ID被分配到它们在表中的位置,而不是根据它们与另一个“对象”的关系

SO网友:Hasan Akhtar

在WP的最新版本中,您将拥有唯一的术语ID。这方面的证据是,方法get\\u terms和get\\u term不需要传递分类名称。如果术语ID在分类法中不是唯一的,则需要传递分类法名称。

作为旁注,过去有共享术语的概念,但现在不再有了:https://make.wordpress.org/core/2015/06/09/eliminating-shared-taxonomy-terms-in-wordpress-4-3/

结束

相关推荐

我可以在‘Get_the_Terms’中使用自定义元值吗?

我有一个自定义页面模板,这是我试图操纵的代码,根据我为特定页面编写的自定义元值进行更改。$terms = get_the_terms($post->id, \'custom-taxonomy\' ); 在CPT页面上,我有一个自定义元字段“分类名称”,自定义元值是“自定义分类”我试图用上面的代码做的是:$terms = get_the_terms($post->id, get_post_meta($post->ID,\'metafield-taxonomy-name\',TRU