0

我想根据具体查询帖子category_parent id。这被用作用户根据父类别类型过滤帖子的过滤功能。我有多个类别,他们有多个子类别。例如,Fruits 是父类,那么子类可以是红色、蓝色、橙色。蔬菜是一个父类,它还有红色、蓝色和橙色的子类。我希望用户过滤并查看所有蔬菜子类别或所有水果子类别。

在我的情况下,我使用的是类别 ID 而不是 slug。例如,我想查询所有父类别为 17 和 19 的帖子。(虚拟)。

add_action( 'pre_get_posts', 'additional_query', 1, 1);       
function additional_query( $query ){
     $tax_query = array(
                array( 
                    "taxonomy" => "category", 
                    "field" => 'term_id',
                    "terms" => array(17, 19)
                )
            );
            $query->set( "tax_query", $tax_query );
}

但是,当我这样做时get_categories(),返回的帖子仍然包含父级不是 17 和 19 的其他类别。我应该如何解决这个问题?谢谢。

4

1 回答 1

0

请试试这个:

add_action( 'pre_get_posts', 'additional_query', 1, 1);       
function additional_query( $query ){

            $query->set( "category__and",array(17, 19));

}
于 2018-09-13T09:43:09.183 回答