在WordPress上以类别显示与关系的帖子

时间:2018-10-13 08:37:22

标签: wordpress categories

我想显示在查询中带有“关联”的类别(a,b和c)的帖子。 我编写了以下代码,但它显示了具有每个类别的所有帖子。如何用And关系显示具有全部3个类别的帖子?

     <?php
    $args2 = array(
    'post_type' => 'post' ,
    'orderby' => 'date' ,
    'order' => 'DESC' ,
    'posts_per_page' => 6,
     'relation' => 'And',
      'category_name'=>'a','b','c',
    'paged' => get_query_var('paged'),
    'post_parent' => $parent
    );
    $q = new WP_Query($args2);
   if ( $q->have_posts() ) { 
    while ( $q->have_posts() ) {
    $q->the_post();
    echo the_title();
      }
    }

    ?>

2 个答案:

答案 0 :(得分:0)

我添加了一个税收查询,现在它可以检查帖子是否具有类别a,b或b的父类别以及位置设置。

$args2 = array(
    'post_type' => 'post',
    'orderby' => 'date',
    'order' => 'DESC',
    'posts_per_page' => -1,
    'tax_query' => array(
        // If 'a' is set.
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => array( 'a' ),
            'operator' => 'IN'
        ),
        // AND if 'b' OR 'parent_b' is set.
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => array( 'b', 'parent_b' ),
            'operator' => 'IN'
        ),
        // AND if location is set.
        array(
            'taxonomy' => 'location',
            'operator' => 'EXISTS'
        ),
    )
);

$q = new WP_Query( $args2 );
if( $q->have_posts() ) {
    while ( $q->have_posts() ) {
        $q->the_post();
        echo the_title();
    }
}

答案 1 :(得分:0)

是的,现在我看到它可以工作了,一个问题是我正在使用除名称之外的其他类别的类别,而另一个则是我希望在选择父类别时显示出来。  所以我现在有另外两个问题。 即使已选择父类别,也可以选择帖子。 因为我在搜索表单页面中使用此代码。 我的第一个类别始终是固定的“ a”。对于第二个类别,即使已选择父类别,我也希望显示其帖子。还有另一个问题 我有一个具有位置名称的自定义分类法。有没有一种方法可以显示类别a和b以及位置分类法中的帖子。 非常感谢