woocommerce 获取属性值列表

2022-08-30 22:44:17

我在wordpress上使用woocommerce来创建一个简单的商店网站,并且我已经为产品添加了几个属性。这些是,和。在尺寸下,我有各种值,包括小,中和大。与颜色相同,即。红色,蓝色,绿色。sizecolor

我想做的是在下拉列表中显示这些值。基本上只是列出它们,这样我就可以将这些值用作商店目录页面的过滤器。

任何帮助都会很棒。

编辑:我已经深入研究了woocommerce代码和api文档,只找到这个代码来拉动属性。

global $woocommerce;

$attr_tax = $woocommerce->get_attribute_taxonomy_names();

foreach( $attr_tax as $tax ) {
     echo $woocommerce->attribute_taxonomy_name( $tax->attribute_name );
}

这个片段给我的只是分类学蛞蝓,即。pa_size和pa_color。我对woocommerce很陌生,但是在那里搜索api文档并没有发现有关如何提取这些属性的值。


答案 1

您可以使用 https://developer.wordpress.org/reference/functions/get_terms/get_terms()

如果您传入pa_size或pa_color您将获得该分类法中的术语列表。


答案 2

希望这对某人有帮助:

global $product; 

// Get product attributes
$attributes = $product->get_attributes();

if ( ! $attributes ) {
    echo "No attributes";
}

foreach ( $attributes as $attribute ) {

        echo $attribute['name'] . ": ";
        $product_attributes = array();
        $product_attributes = explode('|',$attribute['value']);

        $attributes_dropdown = '<select>';

        foreach ( $product_attributes as $pa ) {
            $attributes_dropdown .= '<option value="' . $pa . '">' . $pa . '</option>';
        }

        $attributes_dropdown .= '</select>';

        echo $attributes_dropdown;
}

推荐