Hay una manera de usar $query->set('tax_query', ...)en el pre_get_postsfiltro? por ejemplo, el siguiente código no está alterando la consulta. Tenga en cuenta que estoy creando $ taxonomías a partir de una búsqueda personalizada.
function custom_search_filter($query) {
...
// array('taxonomy' => 'category', 'field' => 'id', 'terms' => array( 41,42 ), 'operator' => 'IN')
$taxonomies = implode(',', $taxonomy_arr);
// /wordpress/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 );
Gracias por adelantado.
pre-get-posts
José Pablo Orozco Marín
fuente
fuente

WP_Queryobjeto a un método de configuración de argumentos?Respuestas:
La
$queryvariable en el filtro representa unWP_Queryobjeto, por lo que no debería pasar un nuevoWP_Queryobjeto al método para establecer las propiedades de ese objeto.La pregunta de la que copió el código estaba usando incorrectamente el filtro, que creo que es el quid de su problema.
Sí,
tax_queryse puede usar dentro de un filtro / acciónpre_get_posts(o similarparse_request).Aquí hay un ejemplo:
especifique una taxonomía personalizada para consultas de búsqueda
fuente
$tax_queryno es un objeto,$queryes (es una instancia deWP_Query).Las consultas fiscales requieren que también establezca el objeto tax_query en la consulta ya que la consulta ya se ha analizado. Vea mi respuesta para las páginas Modificar taxonomía para excluir elementos en taxonomías secundarias .
fuente