我正在使用Wordpress创建车辆搜索。 我创建了一个车辆发布类型,其中还包含用于搜索词(颜色,价格,型号等)的分类法。
在前端,我列出了所有父母的复选框,因此它看起来像以下内容:
制作 - 宝马 -奥迪
颜色 -红色 -白色
以上内容可在“车辆属性”分类法中找到,其分类为make,颜色为父级。
我需要这样做,以便最终用户可以单击复选框并选择他们需要的属性。
我创建的代码确实有效,但前提是它没有使用相同的父代。例如,它将返回带有正确项目的Red和BMW,但是如果我也选择BMW AUDI和Red,则它将仅返回Audi和red项目。
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' => '<='
)
)
);