关于类别/术语的WordPress SQL查询

时间:2010-05-04 06:51:59

标签: php mysql wordpress

我正在修改插件以满足我的需求,并且需要更改此查询以返回仅一个类别的帖子ID。我知道它与INNER JOIN有关,但无法正确查询。

这是原始查询

$query = "SELECT ID as PID FROM $wpdb->posts";
$results = $wpdb->get_results($querydetails,ARRAY_A);

编辑: 好的,我找到了进行查询的方法

$query = "
SELECT ID as PID 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)
WHERE $wpdb->posts.post_status = 'publish'
AND $wpdb->term_taxonomy.taxonomy = 'category'
AND $wpdb->term_taxonomy.term_id = 3
";

1 个答案:

答案 0 :(得分:1)

WordPress建议您在从数据库中检索帖子时尽可能使用query_posts()。你可以试试这个:

// $cat contains the category ID
$posts = query_posts('cat=' . $cat);