从WP 2.3开始,我们可以做到:
register_taxonomy(\'custom_taxonomy\', array(\'user\', \'post\', \'link\', \'comment\'));
这些是属于不同表的不同对象类型,因此可以具有相同的主键ID。现在,如果我们看看用于获取或检查术语的函数,它们都缺少object\\u type参数。
is_object_in_term( $object_id, $taxonomy, $terms = null );
wp_get_object_terms( $object_ids, $taxonomies, $args );
事实上,在term\\u relationships表中根本没有对对象类型的引用,对于具有相同ID的对象,您将得到误报。怎么才能解决这个问题?
SO网友:Subharanjan
这些是属于不同表的不同对象类型,因此可以具有相同的主键ID。
-->尽管这些类型不同,但都存储在一个表中,即。wp_posts
具有post_type
= 不同的类型。检查表格结构是否清晰。所以不会有任何相同的ID冲突。
如果我们看看用于获取或检查术语的函数,它们都缺少object\\u type参数。
-->这是不需要的。当我们拥有对象本身时,WordPress函数可以更好地从DB中确定其关联类型。
事实上,在term\\u relationships表中根本没有对对象类型的引用,对于具有相同ID的对象,您将得到误报。
-->这也是错误的假设。管理WordPress中的分类所需的表之间有明确的关系。下面是一个解释关系的快照。