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), то тоже ничего не выводит, хотя должен выводит с одним параметром.

Как сделать грамотно? Спасибо!


Ответы (0 шт):