A variável $query
no filtro representa um objeto WP_Query
, portanto, você não deve passar um novo objeto WP_Query
para o método de configuração das propriedades desse objeto.
As questionam o código copiado de estava usando incorretamente o filtro, o que eu sinto é o ponto crucial do seu problema.
Sim, tax_query
pode ser usado dentro de um filtro / ação pre_get_posts
(ou similarmente parse_request
).
Aqui está um exemplo:
Especifique uma taxonomia personalizada para consultas de pesquisa
function search_filter_get_posts($query) {
if ( !$query->is_search )
return $query;
$taxquery = array(
array(
'taxonomy' => 'career_event_type',
'field' => 'id',
'terms' => array( 52 ),
'operator'=> 'NOT IN'
)
);
$query->set( 'tax_query', $taxquery );
}
add_action( 'pre_get_posts', 'search_filter_get_posts' );