在 woocommerce 中,我有 2 个选择字段:
第一个是“汽车品牌”,
第二个是这些的“汽车模型” Car Brands
。
我想做的是为所选的“汽车品牌”动态获取“汽车型号”
“汽车品牌”来自 WooCommerce 产品属性分类法。对于每个“汽车品牌”,相关的“汽车型号”是该产品属性分类法的术语。
这是“汽车品牌”(第一个选择字段)的代码:
$attributes = wc_get_attribute_taxonomies();
if($attributes) {
echo '<select id="car-brands"><option value="noselection">Car Brand</option>';
foreach ( $attributes as $attribute ) {
echo '<option value="' . $attribute->attribute_name . '">' . $attribute->attribute_label . '</option>';
}
echo '</select>';
}
以及生成的 html 示例代码:
<select id="car-brands">
<option value="noselection">Car Brand</option>
<option value="toyota">TOYOTA</option>
<option value="lexus">LEXUS</option>
</select>
然后是“汽车模型”的代码(第二个选择字段):
$selected_attribute_name = 'toyota';
$taxonomy = 'pa_' . $selected_attribute_name;
$term_names = get_terms( array( 'taxonomy' => $taxonomy, 'fields' => 'names' ) );
echo '<select id="car-models"><option value="noselection">Car Model</option>';
echo '<option>' . implode( '</option><option>', $term_names ) . '</option>';
echo '</select>';
以及生成的 html 示例代码:
<select id="car-models">
<option value="noselection">Car Model</option>
<option value="toyota">AVENSIS</option>
<option value="lexus">CAMRY</option>
</select>
如您所见,我正在获取“toyota”品牌的特定车型,因为我已将“toyota”硬编码为“Car brand”:
$selected_attribute_name = 'toyota';
所以我想要的是作为$selected_attribute_name一个动态变量,所以当用户选择汽车品牌“LEXUS”或“TOYOTA”时,第二个选择字段会动态加载相关术语(选项)。
我发现了很多相关的线程,但我无法理解如何让它适用于我的案例。
如何让动态“汽车模型”根据所选汽车品牌选择字段选项?
慕田峪4524236
潇潇雨雨