我在wordpress上使用woocommerce来创建一个简单的商店网站,我为产品添加了一些属性。这些是size
和color
。在尺寸不足的情况下,我有各种各样的值,包括小,中和大。与颜色相同即。红色,蓝色,绿色。
我想要做的是在下拉列表中显示这些值。基本上只列出它们,这样我就可以将这些值用作商店目录页面的过滤器。
任何帮助都会很棒。
编辑: 我已经深入研究了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 docs中搜索没有透露如何提取这些属性的值。
答案 0 :(得分:16)
您可以使用get_terms()
http://codex.wordpress.org/Function_Reference/get_terms
如果您传入pa_size或pa_color,您将获得该分类中的术语列表。
答案 1 :(得分:14)
Hoping this is helpful to someone:
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;
}
答案 2 :(得分:7)
这篇文章是在不久前写的,所以我不知道Woocommerce是否在之前的版本中使用过这种方法。
对于任何想要这样做的人来说,这条线就是你所需要的。
$product->list_attributes();
这允许您自定义顺序并切换是否要在后端显示变体,
答案 3 :(得分:4)
除了输出html的@ user5029040 answer之外,如果你想获得一个数组,你可以使用以下函数。
$product->get_variation_attributes();