我正在尝试使用$ _GET方法将分类过滤器表单添加到页面,以将选定的分类术语推入tax_query
。如果选择了更多字词,则这将仅返回包含这些字词的帖子。相反,我得到的所有帖子至少具有所选术语中的1个。
这是单个数组,因此'relation' => 'AND'
在这里不起作用。因此,我尝试将'operator'
参数设置为'AND'
,但这在选择任何术语后都没有任何结果。我什至尝试在查询中推动一个foreach
循环以为每个术语创建一个新的tax_query
数组,以期获得relation
参数来代替工作。但这没有用,实际上似乎是个坏主意。
这是我当前的查询设置:
get_template_part('partials/blog', 'filter');
$paged = get_query_var( 'paged', 1 );
$blog_args = array(
'orderby' => 'date',
'paged' => $paged,
'posts_per_page' => 2
);
if(isset( $_GET['category'] ) ) {
$blog_args['tax_query'] = array(
'relation' => 'AND',
array(
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $_GET['category'],
'operator' => 'AND'
),
);
}
$blog_query = new WP_Query($blog_args);
如果用户选择了类别,则该值将作为数组推入'terms'
。
我希望'operator'
参数的作用类似于'relation'
参数,但这似乎不是这种情况,或者我做错了什么吗?