WordPress仅显示具有特定父类别的帖子

时间:2018-09-13 09:09:31

标签: php wordpress taxonomy taxonomy-terms

我想根据特定的category_parent id查询帖子。用作用户根据父类别类型过滤帖子的过滤功能。我有多个类别,其中有多个子类别。例如,“水果”是父类别,则子类别可以是红色,蓝色,橙色。蔬菜是父类别,也有红色,蓝色和橙色子类别。我希望用户过滤并查看所有蔬菜子类别或所有水果子类别。

在我的情况下,我使用类别ID而不是。 例如,我要查询父类别分别为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的其他类别。 我应该如何解决这个问题?谢谢。

1 个答案:

答案 0 :(得分:0)

请尝试以下操作:

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

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

}