Wordpress - MySQL 查询仅显示来自特定类别的帖子

时间:2021-04-13 07:37:18

标签: mysql wordpress

我有以下查询,其中包含标题中包含特定单词的帖子

refund

现在的问题是我只需要从特定类别中获取帖子(该类别的标签是 hotarari-consiliu-local 并且 ID 为 160),我如何修改上述查询以仅从单个博客文章类别?谢谢!

2 个答案:

答案 0 :(得分:1)

试试下面的查询。

global $wpdb;
$make = $wpdb->get_results("
    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)
    WHERE 
        $wpdb->posts.post_type = 'post'
    AND 
        $wpdb->posts.post_title LIKE '%HOTARAR%'
    AND 
        $wpdb->term_taxonomy.taxonomy = 'category'
    AND 
        $wpdb->term_taxonomy.term_id = 160
    ORDER BY 
        post_date DESC
");

答案 1 :(得分:0)

假设 Bhautik 走在正确的道路上,那么这样的事情应该可以工作(我不知道 'hotarari-consiliu-local' 属于哪里)。

   SELECT p.ID post_ID
        , p.post_date post_post_date
        , CONCAT('<a href="',p.guid,'">',p.post_title,'</a>') post_title_with_link_to_post
     FROM wp_posts p
     JOIN wp_term_relationships pt
       ON pt.object_id = p.ID 
     JOIN wp_term_taxonomy t
       ON t.term_taxonomy_id = pt.term_taxonomy_id 
    WHERE p.post_type = 'post'
      AND p.post_title LIKE '%HOTARAR%'
      AND t.taxonomy = 'category'
      AND t.term_id = 160
    ORDER 
       BY  post_date DESC