Woocommerce - 将属性值显示为下拉字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Woocommerce - 将属性值显示为下拉字段相关的知识,希望对你有一定的参考价值。

我有一个关于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(引擎)。为什么不工作?

其次,如果我想做同样的事情,但是由我选择的所有属性(如上所述),该怎么办?我应该制作一种阵列还是某种?

答案

要获得术语的所有值,您需要使用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>

Reference

以上是关于Woocommerce - 将属性值显示为下拉字段的主要内容,如果未能解决你的问题,请参考以下文章

Woocommerce 按属性过滤产品添加复选框

从 CTP 添加自定义 WooCommerce 下拉结帐字段

woocommerce - 根据地址字段更新运费

从 React 中的同一个选择下拉表单字段中获取多个值

autocomplete 属性 清除input框输入存留历史值,防止下拉历史值显示

根据 WooCommerce 中的自定义字段值将文本添加到订单摘要