编程语言
首页 > 编程语言> > php-使用category__和tax_query的WordPress查询

php-使用category__和tax_query的WordPress查询

作者:互联网

我一直在寻找一种可以完成category__的使用并且针对这些类别使用​​自定义分类法的方法.

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

如果我使用这样的标准查询(一无所获):

                $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&&中的类别的帖子进行更新.框2.

如果在box3中进行选择后,该页面将使用包含box1&&中的类别的帖子进行更新. Box2&&框3.

这就是为什么我希望使用category_and.我知道我可以使用==>来查询分类类别. (术语),尽管这不能满足我的需要,因为它将显示来自box1的帖子,其中也不包含来自box2的类别.

我正在寻找一种&&逻辑不是||.

谢谢.

解决方法:

类别是分类法,但是由于它们是内置的,因此可以得到特殊对待. 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__和自定义分类法相同的任务.

标签:taxonomy,wordpress,php
来源: https://codeday.me/bug/20191120/2040794.html