WP_Query с возможностью фильтрации
У меня есть страница с фильтром по атрибутам, который работает по методу GET. То есть, при отправке формы фильтра, в адресной строке появляется
https://apyachts.com/buy/?pa_build-year=2019&pa_builder=absolute
Я сделал WP_Query для вывода товаров
<?php $builder = $_GET['pa_builder'];
$year = $_GET['pa_build-year'];
$related_yachts = new WP_Query( array(
'post_type' => 'product',
'posts_per_page' => 9,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'product_cat',
'field' => 'id',
'terms' => 20
),
array(
'taxonomy' => 'pa_builder',
'terms' => $builder,
'field' => 'slug',
'operator' => 'IN',
),
array(
'taxonomy' => 'pa_build-year',
'terms' => $year,
'field' => 'slug',
'operator' => 'IN',
),
),
)); ?>
Но когда GET-запросов нет и фильтр не отправлял никаких данных, он не выводит товаров. И если в фильтре указан лишь один атрибут ( pa_builder или pa_build-year), то тоже ничего не выводит, хотя должен выводит с одним параметром.
Как сделать грамотно? Спасибо!