我想根据特定的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的其他类别。
我应该如何解决这个问题?谢谢。
答案 0 :(得分:0)
请尝试以下操作:
add_action( 'pre_get_posts', 'additional_query', 1, 1);
function additional_query( $query ){
$query->set( "category__and",array(17, 19));
}