标题说明了一切。目前,在我的自定义分类法中,我使用的术语是id和分类法名称。
我以为这个问题以前就有人问过,但哪儿也找不到!所以我想问问有没有人有答案。
发布于 2012-01-02 15:35:34
如果您查看Wordpress文档,就会发现Wordpress分类学
发布于 2016-06-24 03:51:25
术语就是一个词。它可以属于分类法,如标记、类别或自定义分类法。问题是:可能有几个分类法包含相同的术语。
假设你有一个叫“肥育”的词。这个词有一个id号。这是term_id。这并不取决于这个词是如何使用的,即在哪个分类法中出现这个词。
现在,“发胖”这个词也有一个数字。这是term_taxonomy_id。它对应于“后标签‘肥育’”。
也许你也有一个叫“肥育”的类别。虽然term_id是相同的,但是“类别‘’肥育‘的term_taxonomy_id是不同的。
发布于 2016-06-23 19:53:59
由于这是对设计的更大理解的一部分,我将把它描述为整体.:)
在WP 4.5.3中,仍然有所有这些表(我将不带前缀地讨论它们):
获取post术语可读的名称的路径贯穿于所有这些名称。
帖子
这里的主要标识符是ID -- post的id (任何类型的)。
term_relationships
对商店:
object_id -可以是posts.ID (但不必是)
term_taxonomy_id -这不是一个术语(类别)的id,而是一个术语(类别)和分类(“类别类型”)之间关系的id。
term_taxonomy
这里的主要标识符是位于^^上方的term_taxonomy_id。
另一个重要栏目:
term_id -一个术语的id (类别)
taxonomy -存储术语的分类(“类别类型”)
这个可能看起来很有趣,但最初的意图是增加术语具有更多分类法的能力(在某些情况下,这是有意义的)。
术语
这里的主要标识符是term_id --一个类别的id。
这里的另一个重要专栏是:
name -可读类别名称。“音乐流派”
slug -一个术语的段塞,例如在URL中。
所以残酷的展示SQL到
获取所有已发表的文章及其类别和类别名称
可能如下所示(在您自己的WP DB上测试时向表添加前缀):
SELECT * FROM
posts #gets posts
LEFT JOIN
term_relationships #gets posts relationships to term_taxonomies
ON(posts.ID=term_relationships.object_id)
LEFT JOIN
term_taxonomy #gets term_ids
ON(term_relationships.term_taxonomy_id=term_taxonomy.term_taxonomy_id)
LEFT JOIN
terms #finally, gets terms' names
ON(term_taxonomy.term_id=terms.term_id)
WHERE (
(posts.post_status='publish')
#optionally you can filter by a certain post_type:
#AND
#(posts.post_type='some_post_type')
)
ORDER BY posts.ID ASChttps://wordpress.stackexchange.com/questions/37721
复制相似问题