使用category__和tax_query的Wordpress查询

时间:2015-07-11 21:13:23

标签: php wordpress taxonomy

我一直在寻找能够完成类别___的使用的方法以及对这些类别使用​​自定义分类法的方法。

我有一个自定义的帖子类型"项目",在该项目中我使用了自定义分类法"投资组合"对项目进行分类。

如果我使用这样的标准查询(没有任何结果):

                $args = array(
                    'post_type' => 'project',
                    'posts_per_page' => 12,
                    'orderby'=> 'title',
                    'order' => 'ASC',
                    'category' => $vcategory
            );  
            $loop = new WP_Query( $args );

我也试图使用这样的东西:

                    $args = array(
                    'post_type' => 'project',
                    'posts_per_page' => 12,
                    'orderby'=> 'title',
                    'order' => 'ASC',
                    'tax_query' => array(
                        'taxonomy' => 'tagportfolio'
                    ),
                    'category__and' => array( $vcategory )
            );  
            $loop = new WP_Query( $args );

我有一个应用程序,允许人们使用三个下拉框按类别对帖子进行排序。 box1 box2 box3

如果从box1进行选择,则页面上的帖子将更新为该类别。

如果然后从box2进行选择,则页面将更新包含来自box1&&amp ;;的类别的帖子。 BOX2。

如果在从box3中进行选择后,将使用包含来自box1&&的类别的帖子更新页面。 box2&& BOX3。

这就是为什么我希望使用category__和。我知道我可以使用terms =>查询分类法类别(条款),虽然这对我的需求不起作用,因为它会显示来自box1的帖子,它们也不包含box2中的类别。

我正在寻找以下情况&&逻辑不是||。

谢谢。

1 个答案:

答案 0 :(得分:3)

类别是分类法,但它们是内置的,因此得到特殊处理。 category__and属性仅适用于类别分类。

对于自定义分类,您可以使用tax_query查询该分类中包含多个字词的帖子:

'tax_query' => array(
    array(
        'taxonomy'  => 'tagportfolio',
        'field'     => 'term_id', //change to name or slug if necessary
        'terms'     => $vcategory,
        'operator'  => 'AND'
    )
),

上述税务查询应与您的自定义分类法category__and完成相同的操作。