查询 Wordpress 数据库 returns post 的无效类别
Query on Wordpress database returns invalid categories for a post
我正在尝试通过以下查询在 WordPress 数据库中获取分配给 post 的类别。
然而,prod_Hats
绝对没有分配给 post(通过 Wordpress UI 检查),但是,它随此查询一起返回。
我还发现奇怪的是,prod_Hats 行的 term_taxonomy_id
和 term_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
我正在尝试通过以下查询在 WordPress 数据库中获取分配给 post 的类别。
然而,prod_Hats
绝对没有分配给 post(通过 Wordpress UI 检查),但是,它随此查询一起返回。
我还发现奇怪的是,prod_Hats 行的 term_taxonomy_id
和 term_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