【问题标题】:Woocommerce - display attribute values as a dropdown fieldWoocommerce - 将属性值显示为下拉字段
【发布时间】:2020-05-16 17:08:52
【问题描述】:

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

其次,如果我想做同样的事情,但我选择的所有属性(如上所述)。我应该做一个数组还是什么?

【问题讨论】:

  • 使用此代码,您将获得特定产品$product-&gt;id 的条款,正如我从您在单独页面中创建以搜索所有产品的问题中了解到的那样,如果正确,则此代码将不会给你预期的结果,你需要以不同的方式做你的表格,但是如果你只想要单个产品的结果,请使用var_dump首先检查你是否得到任何产品ID。
  • @kashalo - 你是对的。你知道怎么改代码吗?
  • 是的,我肯定会编写代码来获取所有值并在那里打印名称

标签: php wordpress woocommerce attributes


【解决方案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

【讨论】:

    【解决方案2】:

    这就是我为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 ); ?>
    

    【讨论】:

      猜你喜欢
      • 2021-03-17
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 2021-08-21
      • 2019-08-22
      • 1970-01-01
      • 2015-05-02
      • 2011-09-21
      相关资源
      最近更新 更多