【发布时间】:2012-10-15 18:44:46
【问题描述】:
我需要从我的 WordPress 数据库中提取所有帖子以及相关类别,但不知道如何编写此查询。我已经尝试了几次,没有任何乐趣,希望能得到帮助吗?
编辑:这是我已经尝试过的:
SELECT post_title, wpr.object_id, wp_terms.name
FROM wp_terms
INNER JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id
INNER JOIN wp_term_relationships wpr ON wpr.term_taxonomy_id =
wp_term_taxonomy.term_taxonomy_id
INNER JOIN wp_posts ON ID = wpr.object_id
WHERE taxonomy = 'category'
AND post_type = 'post'
ORDER by post_title
这似乎有效,但它返回 1,553,我知道我的数据库中只有 1343。
编辑: 不久前,我们在另一个 SQL 查询上做了同样的事情,发现它正在拉入修订和其他帖子类型,但认为这是使用 post_type = 'post' 解决的
编辑: 在查看数据库中的类别数量后,我得出总数为 216,如果减去 1553 - 1343 = 216,则为 6。所以我认为这个总数 1553 来自需要的 wp_terms 表被排除在外,并且只显示那些已发布帖子处于活动状态的帖子?
编辑: 另一种可能性是每个帖子可以有多个类别,因此有更多帖子的原因(1553)。那么如何将每个帖子分成多个类别呢?
非常感谢!
【问题讨论】:
-
what have you tried 到目前为止?你能发布你需要查询的表的结构吗?
-
您发布的内容有什么问题?是有错误,还是没有返回你想要的结果?
-
我添加了一些编辑来帮助我的发现,如果有人可以再看一遍吗?