用于查询特定类别的wp帖子的sql语句

时间:2014-06-20 01:26:18

标签: php mysql sql wordpress

我想查询来自特定类别父级的wordpress帖子,但问题是wp_posts表上没有这样的列,所以我需要加入但是我在sql上的技能不好所以我需要一些帮助, 这是我用于查询帖子的查询

    $query = "SELECT c.* 
        FROM {$wpdb->prefix}posts p,
         {$wpdb->prefix}comments c WHERE p.ID = c.comment_post_ID AND c.comment_approved > 0 AND p.post_type = 'product' AND p.post_status = 'publish' AND
          p.comment_count > 0 ORDER BY ".$order_by." LIMIT 0, ". $number_of_comments;

    }

以下是我发现加入term_taxonomy_id的一些片段

$answer = $wpdb->get_results("SELECT post_title, post_content, term_taxonomy_id FROM wp_posts LEFT JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_id WHERE SUBSTRING(post_title,1,1)='T' AND term_taxonomy_id=6");
我似乎无法想象如何在我的查询中使用此示例,而不考虑更简单的解决方案,因此我可以从特定的父类别进行查询,感谢您的帮助

2 个答案:

答案 0 :(得分:1)

这是我使用和工作的查询..

$query = "SELECT  c.*
        FROM
         {$wpdb->prefix}comments c ,
         {$wpdb->prefix}posts p JOIN   $wpdb->term_relationships TR 
        ON p.ID=TR.object_id 
 JOIN   $wpdb->term_taxonomy T 
        ON TR.term_taxonomy_id=T.term_taxonomy_id
 JOIN   $wpdb->terms TS 
        ON T.term_id = TS.term_id
        WHERE p.ID = c.comment_post_ID   AND c.comment_approved > 0 AND p.post_type = 'product' AND p.post_status = 'publish' AND
          p.comment_count > 0 AND  T.taxonomy = 'product_cat' AND T.term_id='$term_cat'   ORDER BY ".$order_by." LIMIT 0, ". $number_of_comments;
     }

答案 1 :(得分:0)

你会看到这样的事情:

global $wpdb;
$wpdb->show_errors();
$ur=$wpdb->get_results( $wpdb->prepare( 
    "
     SELECT *
     FROM $wpdb->posts P 
     JOIN   $wpdb->term_relationships TR 
            ON P.ID=TR.object_id // identify link column
     JOIN   $wpdb->term_taxonomy T 
            ON TR.term_taxonomy_id=T.term_taxonomy_id
     JOIN   $wpdb->terms TS 
            ON T.term_id = TS.term_id
     WHERE  P.post_type = %d // use wild chars (define below, this one equals carmarket)
            AND P.post_status = %f
            AND T.taxonomy= %s

    ",
        'carmarket', 
        'publish',
        'carmake'

) ); 

$wpdb->print_error();
var_dump($ur);
相关问题