我对woocommerce及其属性有疑问。我大约有10个属性,例如:速度,重量,颜色,引擎等。我要做的是在一页上创建搜索表单,并且用户在通过选择字段填写/选择了正确的选项后会搜索产品。
但是我坚持使用了一段代码,该代码应该创建这样的下拉列表(该代码将显示特定属性的所有值)。
代码:
<?php
$subheadingvalues = get_the_terms( $product->id, 'pa_naped');
if ($subheadingvalues): ?>
<select>
<?php foreach ( $subheadingvalues as $subheadingvalue ): ?>
<option value="<?php echo $subheadingvalue->name; ?>">
<?php echo $subheadingvalue->name; ?>
</option>
<?php endforeach; ?>
</select>
<?php endif; ?>
此代码的主要问题?根本不起作用-什么也不显示。我在woocommerce仪表板中仔细检查了属性名称,它的名称确实是pa_naped(引擎)。为什么它不起作用?
第二,如果我想做同样的事情,但对于我自己选择的所有属性(如上所述)怎么办?我应该制作一种数组还是某物?
答案 0 :(得分:1)
要获取术语的所有值,您需要使用get_terms()
因此您的函数应如下所示:
$subheadingvalues = get_terms('pa_naped', array(
'hide_empty' => false,
));
?> <select>
<?php foreach ($subheadingvalues as $subheadingvalue): ?>
<option value="<?php echo $subheadingvalue->name; ?>">
<?php echo $subheadingvalue->name; ?>
</option>
<?php endforeach;?>
</select>
答案 1 :(得分:0)
这就是我进行dietary-preference
分类的方式。
$attrargs = array(
'show_option_all' => '',
'show_option_none' => 'Dieta',
'orderby' => 'id',
'order' => 'ASC',
'show_count' => 1,
'hide_empty' => 1,
'child_of' => 0,
'exclude' => '',
'echo' => 1,
'selected' => 0,
'hierarchical' => 0,
'name' => 'pa_dietary-preference',
'id' => 'pa_dietary-preference',
'class' => 'pa_dietary-preference',
'depth' => 0,
'tab_index' => 0,
'taxonomy' => 'pa_dietary-preference',
'hide_if_empty' => false,
'option_none_value' => -1,
'value_field' => 'term_id',
'required' => true,
);
<?php wp_dropdown_categories( $attrargs ); ?>