Установите tax_query условно с новым WP_Query

У меня есть шаблон страницы с пользовательским запросом:

<? $filter = explode(' ', $_GET['filter']); // "page/?filter=taxonomy+term" $paged = get_query_var('paged') ? get_query_var('paged') : 1; $query = new WP_Query(array( 'post_type' => 'articles', 'paged' => $paged, 'tax_query' => array( array( 'taxonomy' => $filter[0], 'terms' => $filter[1], 'field' => 'slug' ) ) )); 

Это отлично работает, но когда нет фильтров, я не хочу запрашивать таксономию, поэтому я подумал об этом:

 $query = new WP_Query(array( 'post_type' => 'articles', 'paged' => $paged, )); if (! empty($filter[0])) { $query->set('tax_query', array( array( 'taxonomy' => $filter[0], 'terms' => $filter[1], 'field' => 'slug' ) )); } 

Но он не работает, как раньше, когда нет фильтров, он ничего не показывает, и когда есть какой-либо фильтр, он просто показывает все. Поэтому я предполагаю, что таксономия не задается в запросе. Что я делаю не так?

Solutions Collecting From Web of "Установите tax_query условно с новым WP_Query"