目前,我正在使用此mysql查询显示站点博客页脚中最后5个帖子的列表:
SELECT post_title, guid, post_date FROM wp_posts WHERE post_type = 'post' AND post_status = 'Publish' ORDER BY post_date DESC LIMIT 5
Run Code Online (Sandbox Code Playgroud)
如何编辑此查询以将搜索限制为特定类别ID?我认为这就像在posts表中查找类别字段一样简单,但事实并非如此!
nik*_*org 26
Wordpress数据库的关系在数据库图中可用.
在您的特定情况下,它是:
wp_posts.ID
- > wp_term_relationships.object_id
- > wp_term_relationships.term_taxonomy_id
- > wp_term_taxonomy.term_taxonomy_id
- > wp_term_taxonomy.term_id
- >wp_terms.term_id
对于查询,您需要使用SQL连接:
SELECT p.ID, t.term_id
FROM wp_posts p
LEFT JOIN wp_term_relationships rel ON rel.object_id = p.ID
LEFT JOIN wp_term_taxonomy tax ON tax.term_taxonomy_id = rel.term_taxonomy_id
LEFT JOIN wp_terms t ON t.term_id = tax.term_id
Run Code Online (Sandbox Code Playgroud)
但应该注意的是wordpress数据库可能随时发生变化,你应该使用Wordpress提供的机制(如query_posts)来过滤数据库中的帖子.