2010-05-17 63 views
11

目前我正在使用這個mysql查詢顯示站點博客頁腳中最後5篇帖子的列表:Wordpress如何將帖子鏈接到其數據庫中的類別?

SELECT post_title, guid, post_date FROM wp_posts WHERE post_type = 'post' AND post_status = 'Publish' ORDER BY post_date DESC LIMIT 5 

如何編輯此查詢以限制搜索到特定的類別ID?我認爲這就像在posts表中查找類別字段一樣簡單,但事實並非如此!

回答

20

Wordpress數據庫的關係可在database diagram中找到。

你的具體情況是:

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 

但應該注意的是,wordpress數據庫可能隨時發生變化,您應該使用Wordpress提供的機制(如query_posts)來過濾來自數據庫的帖子。

+4

感謝您的回覆。我會安全地玩,包括功能並使用它們。對於未來的搜索者:在外部使用wp函數: 包括'path-to-wp-directory/wp-blog-header.php' – bcmcfc 2010-05-17 11:40:36

相關問題