据我了解术语,"分类法"只是一种对帖子进行分组的方式,例如"产品。"您可以指明您的帖子是"产品"通过指定"产品"作为wp_insert_post()中帖子的分类。但您也可以在帖子中添加自定义字段,例如" group = product"然后拉出所有产品帖子,询问所有具有group = product自定义字段的记录。不过,我假设后一种方法需要WordPress查看那些有 group 自定义字段 product 的帖子的所有帖子,而分类法基本上将所有记录串在一起,这些记录具有分类法" product"因此,他们可以直接访问,而不是通过搜索每个帖子。那是对的吗?
其次,"类别"内置分类法?因此,如果我分配一个"产品"当我执行我的wp_insert_post()然后当我要求所有类别=产品的记录时,WordPress能否直接访问所有产品帖子,即所有类别=产品的帖子?
答案 0 :(得分:0)
我认为我们可以通过研究以下相关表格来理解它:
<强> wp_terms 强>:
最引人注目的列是term_id
,name
和slug
。
正如这个词暗示的那样,术语实际上是某种东西的名称。例如,对于足球队的联盟,一个术语将是该联盟中特定球队的名称。我们使用Foo
作为团队名称。
正如您可能已经知道的那样 - 每个名称都有一个slug和一个ID,以便于管理这些术语的常见编程任务。
<强> wp_term_taxonomy 强>:
让我们在表格的名称,你可以猜测这个表格与分类法有关。该表的主要列为term_taxonomy_id
,term_id
,taxonomy
和taxonomy_description
。
这个表实际上是将术语集合在一起并给它们一个分类(即对它们进行分类)。由于Foo
是一个术语,而且这个术语是一个足球队,因此我们应该使用football-team
之类的内容进行分类。
Bar
可能是一个不同的团队名称(另一个术语)。我们可以将Foo
和Bar
分组/分类为足球队,以便他们都具有分类/类别football-teams
。当然,每种分类法都有一个描述来解释这个类别是什么。
请注意,我们创建的每个关系都有一个唯一ID,即term_taxonomy_id,因此关系Foo
和football-team
具有唯一ID。 Bar
和football-team
也是如此。在我们查看下一个表时,这一点很重要。
<强> wp_term_relationships 强>:
主要列为object_id
和term_taxonomy_id
。这基本上是术语与分类/类别之间的每个object_id
(例如帖子ID)和 ID 之间的关系。
因此,帖子会有一个term_taxonomy_id
告诉我们代表这篇文章的帖子(可能是关于团队Foo
的帖子)以及该术语的类别(football-team
)
当您考虑上述说明并查看wp_insert_post()
的代码时,尤其是此部分:
post_category:相当于调用wp_set_post_categories()。
tags_input:等效于调用wp_set_post_tags()。
tax_input:等效于为数组中的每个自定义分类调用wp_set_post_terms()。如果当前用户无法使用分类法,则必须使用wp_set_object_terms()代替。
您将能够理解WordPress分类法的工作原理并回答您自己的问题。