查询 Wordpress 数据库 returns post 的无效类别

Query on Wordpress database returns invalid categories for a post

我正在尝试通过以下查询在 WordPress 数据库中获取分配给 post 的类别。

然而,prod_Hats 绝对没有分配给 post(通过 Wordpress UI 检查),但是,它随此查询一起返回。 我还发现奇怪的是,prod_Hats 行的 term_taxonomy_idterm_id 的值不匹配,因为我根据这些列值的相等性显式加入表。

我的查询有什么问题?

select wt.name,wt.slug,wtr.term_taxonomy_id,wtt.term_id,wtt.taxonomy from 
wp_term_relationships wtr
INNER JOIN wp_term_taxonomy wtt ON wtt.term_taxonomy_id=wtr.term_taxonomy_id AND wtt.taxonomy='category'
INNER JOIN wp_terms wt ON wt.term_id=wtt.term_taxonomy_id
where wtr.object_id=10

结果:

name        slug        term_taxonomy_id    term_id     taxonomy
Must read   must-read   4                   4           category
Tips        tips        9                   9           category
english     english     20                  20          category
prod_Hats   prod_hats   73                  72          category

此外,我添加并分配给此 post 的一些新类别根本不会通过此查询返回。

查看查询我必须做类似的事情(不在数据库附近确认),我的连接是这样的:

  FROM wp_posts p
       LEFT JOIN wp_term_relationships tr ON p.ID = tr.object_id
       LEFT JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
       LEFT JOIN wp_terms t on tt.term_id = t.term_id

我看到的不同就在你的线上

INNER JOIN wp_terms wt ON wt.term_id=wtt.term_taxonomy_id

我用的是term_id,不是term_taxonomy_id