如何从不同的自定义分类中获取两个术语的交集

时间:2015-07-20 作者:terminator

我有一个自定义的帖子类型listing

然后有两种自定义分类法

作业列表区域

  • 作业\\u列表\\u类别

  • 在主页上,我有链接到job_listing_category 喜欢shop,eat,stay

    以及himalyan和非himalyan等工作列表区域。

    himalyan和non himalyan有两个选项卡。

    每个选项卡下都有指向的链接job_listing_category 喜欢shop,eat,stay

    我想从这里获得一个链接,链接到每个job_listing_category.

    比如,若有人点击himalyan类别下的商店,那个么我就可以进入有帖子的归档页面shop 以及himalyan

    enter image description here我怎么能做到这一点,我不知道。请帮助/指导som如何实现这一目标

    1 个回复
    SO网友:Ihor Vorotnov

    用于获取由2个不同分类法中的2个不同术语筛选的自定义帖子类型帖子的自定义查询将是:

    $args = array(
        \'post_type\' => \'listing\',
        \'tax_query\' => array(
            \'relation\' => \'AND\',
            array(
                \'taxonomy\' => \'job_listing_region\',
                \'field\'    => \'slug\',
                \'terms\'    => \'himalyan\', // this can be an array of terms also
            ),
            array(
                \'taxonomy\' => \'job_listing_category\',
                \'field\'    => \'slug\',
                \'terms\'    => \'shop\', // this can be an array of terms also
            ),
        ),
    );
    
    $query = new WP_Query( $args );
    
    调整tax_query 您需要的值,例如,通过从URL获取的$变量传递“术语”,例如:

    $region = get_query_var(\'job_listing_region\');
    $args = array(
        ...
        \'terms\' => $region;
        ...
    );
    
    此外,通读Template Hierarchy 文档中,您应该使用自定义帖子类型/自定义分类模板,并使用pre_get_posts 筛选以调整查询。

    结束

    相关推荐