Делаю фильтр на основе таксономий, делаю на основе полей - категория товара и цвет, мне нужно как то так подобрать условие запроса, что бы:
1) Если выбрана только 1 поле( или цвет или категория) то выводилось только выбранное поле.
2) Если выбрано 2 поля, то выводились товары у которых эти 2 поля совпали
Вот примерно как я пробовал это сделать, сейчас выводит только если задано 2 поля, если только 1, то ничего не выводит:
$q = new WP_Query([
'post_type' => 'goods',
'tax_query' => [
'relation' => 'OR',
[
'relation' => "AND",
[
'taxonomy' => 'color',
'field' => 'slug',
'terms' => $_POST['color']
],
[
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $_POST['category']
]
],
[
'relation' => 'OR',
[
'taxonomy' => 'color',
'field' => 'slug',
'terms' => $_POST['color']
],
[
'taxonomy' => 'category',
'field' => 'slug',
'terms' => $_POST['category']
]
]
]
]);