有一种方法可以使用$query->set(\'tax_query\', ...)
在里面pre_get_posts
滤器例如,下一个代码不会更改查询。请注意,我正在从和自定义搜索构建$分类法。
function custom_search_filter($query) {
...
// array(\'taxonomy\' => \'category\', \'field\' => \'id\', \'terms\' => array( 41,42 ), \'operator\' => \'IN\')
$taxonomies = implode(\',\', $taxonomy_arr);
// https://wordpress.stackexchange.com/questions/25076/how-to-filter-wordpress-search-excluding-post-in-some-custom-taxonomies
$taxonomy_query = array(\'relation\' => \'AND\', $taxonomies);
$query->set(\'tax_query\', $taxonomy_query);
}
return $query;
}
add_filter( \'pre_get_posts\', \'custom_search_filter\', 999 );
提前谢谢。