我想根据两个分类条件从wordpress数据库中选择记录。
我有以下查询。但它列出了所有记录。我想用分类配方类别和术语90过滤以下查询。我该怎么做?


  从中选择DISTINCT p.ID,p.post_author,p.post_date作为dte,wt.term_id
  wp_posts p左加入wp_postmeta m1 ON p.ID = m1.post_id左加入
  wp_term_relationships wtr ON(p.ID = wtr.object_id)左联接
  wp_term_taxonomy wtt ON(wtr.term_taxonomy_id = wtt.term_taxonomy_id)
  左JOIN wp_terms wt ON(wt.term_id = wtt.term_id)其中
  p.post_type ='recipe'和p.post_status ='publish'AND(wtt.taxonomy =
  dte DESC的'recipe-cuisine'和wtt.term_id IN(17))顺序

最佳答案

为什么不使用WP_QUERY获取与分类法(recipe-category)和recipe-category id 90术语相关的帖子

$taxonomy       = 'recipe-category';
$taxonomy_terms = 90;
$args           = array(
    'tax_query' => array(
        array(
            'taxonomy' => $taxonomy,
            'field'    => 'id',
            'terms'    => $taxonomy_terms,
        ),
    ),
);
$posts_related_to_taxonomy      = new WP_Query($args);
if( $posts_related_to_taxonomy->have_posts() ) :
    echo '<p>';
    while($posts_related_to_taxonomy->have_posts()) : $posts_related_to_taxonomy->the_post();
        ?>
        <a href="<?php the_permalink(); ?>">
            <span><?php the_title(); ?></span> : <?php echo get_the_excerpt(); ?>
        </a>
        <br>
    <?php endwhile;
    echo '</p>';
else :
    echo wpautop('No Records found');
endif;


如果要在两个分类法之间进行搜索,则将tax_query参数替换为以下内容

'terms' => array( $term)此参数可以与术语id或字符串数​​组一起使用,将taxonomy1taxonomy2替换为其他分类标准段

'tax_query' => array(
        'relation' => 'AND',
        array(
            'taxonomy' => 'taxonomy1',
            'field' => 'id',
            'terms' => array( $term)
        ),
        array(
            'taxonomy' => 'taxonomy2',
            'field' => 'id',
            'terms' => array( $term2),
        )),

关于mysql - 如何筛选具有两种分类条件的wordpress选择查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40263915/

10-16 07:26