Я создаю поиск автомобилей с помощью Wordpress.Я создал тип сообщения «Автомобиль», который также включает таксономию, используемую для поисковых терминов (цвет, цена, модель и т. Д.).
На веб-интерфейсе я перечислил все флажки родителей, поэтому он выглядит следующим образом:
Марка - BMW - AUDI
Цвет - Красный - Белый
Выше приведены в таксономии "Vehicleattributes" с маркой, цвет является родителем.
Мне нужно сделать так, чтобы конечный пользователь мог щелкнуть по флажкам и выбрать необходимые атрибуты.
Код, который я создал, работает, но только если он не использует того же родителя.Например, он вернет красный и BMW с правильными предметами, но если я выбрал BMW AUDI и красный, он вернет только Audi и красные предметы.
foreach ($_POST as $key => $value) {
$valueArray[] = array(
'taxonomy' => 'Vehicleattributes',
'field' => 'slug',
'terms' => $value,
'operator' => 'IN'
);
}
$args = array('post_type' => 'mo_vehicle',
'tax_query' => array(
'relation' => 'AND',
/* array(
'taxonomy' => 'Vehicleattributes',
'field' => 'term_id',
'terms' => $postModel ? $postModel : $postMake,
'operator' => 'IN'
), */
/*
array(
'taxonomy' => 'Vehicleattributes',
'field' => 'slug',
'terms' => $valueArray,
'operator' => 'IN',
'include_children' => false
),
*/
$valueArray
),
'meta_query' => array(
'relation' => 'AND',
array('key' => '_mo_price',
'value' => $postminPrice,
'compare' => '>='
),
array('key' => '_mo_price',
'value' => $postmaxPrice,
'compare' => '<='
)
)
);