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

问题描述 投票:0回答:1

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

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

php wordpress woocommerce attributes
1个回答
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>

Reference

© www.soinside.com 2019 - 2024. All rights reserved.