Метод объявления аргументов неверен. Вы не должны создавать такой массив. Пожалуйста, проверьте следующий пример.
function add_city_tax( $query_args, $view_settings, $view_id ) {
if($view_id == 7706) {
$args = array(
'tax_query' => array(
array(
'taxonomy' => 'ville',
'field' => 'id',
'terms' => array( 220 ),
'operator' => 'IN',
),
'relation' => 'OR',
),
);
}
$query_args = new WP_Query( $args );
return $query_args;
}
А вот документ
Описание
При отображении записей со списком View этот фильтр применяется к аргументам, генерируемым параметрами View, до того, как они будут переданы в класс WP_Query.
Фильтры просмотров - wpv_filter_query
Обратите внимание, что фильтры, которые вы можете добавить к представлению, также подключаются здесь, каждый из которых использует свой приоритет, который достигает 100. Чтобы гарантировать, что ваш фильтр работает после них, вам нужно будет использовать номер с более высоким приоритетом. .
Помните, что фильтр может принимать три параметра. Если вы передаете более одного, вам нужно указать его в своем коде, используя четвертый аргумент:
1
add_filter ('wpv_filter_query', 'my_callback_function', 99, 3);
аргументы
массив $ query_args - аргументы запроса как в WP_Query.
array $ view_settings Настройки просмотра.
int $ view_id Идентификатор представления.