0

在 wordpress 中,如何获取同时分配给三个类别的帖子 ID?

例子:

object_id      term_taxonomy_id
-------------------------------
   6913            65
   7000            80
   7500            65
   2500            20
   6913            67
   6913            70
   5555            65
   5555            67
   6913            66

因此,同时具有 65、67 和 70 条的帖子是 6913。

4

1 回答 1

0

使用查询,您可以获得具有这三个类别的帖子

SELECT * FROM `wp_posts` p
LEFT JOIN `wp_term_relationships` tr ON (p.ID = tr.object_id)
INNER JOIN wp_term_taxonomy tt ON (tt.term_taxonomy_id = tr.term_taxonomy_id )
WHERE p.post_status='published' AND tt.term_id IN( 65,67,70)
HAVING COUNT(tr.object_id) =3  

上面的查询将返回所有具有这 3 个类别的帖子 65,67,70

您可以使用 wordpresswpdb类来运行您的查询

global $wpdb;
$posts=$wpdb->get_results("SELECT * FROM `wp_posts` p
    LEFT JOIN `wp_term_relationships` tr ON (p.ID = tr.object_id)
    INNER JOIN wp_term_taxonomy tt ON (tt.term_taxonomy_id = tr.term_taxonomy_id )
    WHERE p.post_status='published' AND tt.term_id IN( 65,67,70)
    HAVING COUNT(tr.object_id) =3");
于 2013-10-05T09:45:54.353 回答