2010-04-07 72 views
0

我需要使用自定義選擇查詢顯示一些帖子。此自定義選擇查詢需要獲取兩個分類法中的帖子。WordPress - 使用自定義選擇查詢顯示帖子時的問題

看查詢:

SELECT * 
FROM $wpdb->posts 
LEFT JOIN $wpdb->term_relationships ON($wpdb->posts.ID = 
$wpdb->term_relationships.object_id) 
LEFT JOIN $wpdb->term_taxonomy 
ON($wpdb->term_relationships.term_taxonomy_id = 
$wpdb->term_taxonomy.term_taxonomy_id) 
LEFT JOIN $wpdb->terms ON($wpdb->term_taxonomy.term_id = 
$wpdb->terms.term_id) 
WHERE 
$wpdb->posts.post_type = 'post' 
AND $wpdb->posts.post_status = 'publish' 
AND $wpdb->term_taxonomy.taxonomy = 'continentes' 
AND $wpdb->terms.slug = 'asia' 
AND $wpdb->term_taxonomy.taxonomy = 'pais' 
AND $wpdb->terms.slug = 'china' 
ORDER BY $wpdb->posts.post_date DESC 

如果只使用一個條件查詢效果很好,喜歡它:

... 和$ wpdb-> term_taxonomy.taxonomy = 'continentes' AND $ wpdb-> terms.slug ='asia' ...

但是我需要分類「continentes」和「pais」的文章。

問候

回答

0
... 
AND 
($wpdb->term_taxonomy.taxonomy = 'continentes' 
OR 
$wpdb->term_taxonomy.taxonomy = 'pais') 
... 

如果WordPress的支持,你可以使用IN

... 
AND $wpdb->term_taxonomy.taxonomy in ('continentes', 'pais') 
... 
0

假設每個樁只有1個分類,您的查詢將不會返回任何結果,因爲一個帖子可以不會在大陸和佩斯。你需要改變你的where子句,看起來像這樣:

AND ($wpdb->term_taxonomy.taxonomy = 'continentes' OR $wpdb->term_taxonomy.taxonomy = 'pais') 
+0

嗨,感謝回覆! 這篇文章有這兩個分類法。 「大洲」和「pais」。 – 2010-04-07 20:33:49

相關問題