我有一个属性循环,并尝试在*ngFor
下拉列表的第一个选择中显示属性名称。但是,每次我回显名称时,都会显示该条。因此,显示的是“ <select>
”而不是“金属”。
下面是我当前的循环和我当前正在使用的代码。显然pa_attribute_metal
并没有提取实际名称。
$attribute['name']
通过每个循环提取属性的实际显示名称并在$attributes = $product->get_attributes();
foreach ($attributes as $attribute):
echo '<select name="'.$attribute['name'].'" class="example">';
echo '<option name="'.$attribute['name'].'">'.$attribute['name'].'</option>';
echo '</select>';
endforeach;
中显示该属性的最佳方法是什么?
答案 0 :(得分:0)
<select name="attribute_taxonomy" class="attribute_taxonomy">
<option value=""><?php esc_html_e('product attribute', 'woocommerce'); ?></option>
<?php
global $wc_product_attributes;
// Array of defined attribute taxonomies.
$attribute_taxonomies = wc_get_attribute_taxonomies();
if (!empty($attribute_taxonomies)) {
foreach ($attribute_taxonomies as $tax) {
$attribute_taxonomy_name = wc_attribute_taxonomy_name($tax->attribute_name);
$label = $tax->attribute_label ? $tax->attribute_label : $tax->attribute_name;
echo '<option value="' . esc_attr($attribute_taxonomy_name) . '">' . esc_html($label) . '</option>';
}
}
?>
</select>
答案 1 :(得分:0)
while ($query->have_posts()) {
$query->next_post();
$result[] = $query->post;
$taxonomy = 'pa_size';
$meta = get_post_meta($result[$i]->ID, 'attribute_'. $taxonomy, true);
$term = get_term_by('slug', $meta, $taxonomy);
array_push($arrayValue, $term);
}
for ($j = 0; $j<count($arrayValue); $j++){
echo $arrayValue[$j]->name;
}