我想在woocommerce侧栏中显示所有可用的产品属性。根据我使用的设计和插件,这里很难使用小部件框。因此,我选择循环所有可用的产品属性,并在侧栏中显示它们。
我尝试了woocommerce docs上可用的以下方法,
还尝试了一些堆栈答案。
global $product;
$product->get_attributes();
但是我仍然得到一个空数组。
我的侧边栏包含在woocommerce存档页面中。如何获得属性名称及其值?
答案 0 :(得分:1)
您可以在自定义简码功能中使用Woocommerce专用的wc_get_attribute_taxonomies()
函数,该函数将输出所有产品属性的列表。
然后您就可以将其添加到侧边栏(请参见最后)中的文本小部件中。
简码[product_attributes]
代码:
add_shortcode( 'product_attributes', 'get_product_attributes' );
function get_product_attributes() {
$output = '<ul style="list-style:none;">';
foreach( wc_get_attribute_taxonomies() as $attribute ) {
$taxonomy = 'pa_' . $attribute->attribute_name;
$term_names = get_terms( array( 'taxonomy' => $taxonomy, 'fields' => 'names' ) );
$output .= '<li><strong>' . $attribute->attribute_label . ':</strong> ' . implode( ', ', $term_names ) . '</li>';
}
return $output . '</ul>';
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。
然后,您将在边栏中添加一个新的文本小部件,并将短代码粘贴到文本编辑器中,以获取产品属性列表…