在 Woocommerce 档案页面上显示特定的产品属性
Display specific product attributes on Woocommerce archives pages
我想在每个产品的商店页面上显示我选择的一些特定产品属性。有必要显示属性的名称并与它的值相对。我开始写代码,我想至少打印名字,但是我只显示最后一个属性的名字
add_action('woocommerce_after_shop_loop_item','add_attribute');
function add_attribute() {
global $product;
$weigth_val = $product->get_attribute('weight');
$quant_val = $product->get_attribute('quantity');
$length_val = $product->get_attribute('length');
echo $weigth_val;
echo $quant_val;
echo $length_val;
}
在 woocommerce 中,每个产品属性都是自定义分类法,并记录在数据库中,并在其 slugs 的开头添加 pa_
…
该分类名称将与 WC_Product get_attribute()
方法一起使用。
因此,您的代码应该改为:
add_action('woocommerce_after_shop_loop_item','displaying_product_attributes');
function displaying_product_attributes() {
global $product;
$weigth_val = $product->get_attribute('pa_weight');
$quant_val = $product->get_attribute('pa_quantity');
$length_val = $product->get_attribute('pa_length');
echo $weigth_val;
echo $quant_val;
echo $length_val;
}
现在应该可以了……
要获取产品属性名称标签以及您将使用的产品的相应名称值:
add_action('woocommerce_after_shop_loop_item','add_attribute');
function add_attribute() {
global $product;
$product_attributes = array( 'pa_weight', 'pa_quantity', 'pa_length', 'pa_color' );
$attr_output = array();
// Loop through the array of product attributes
foreach( $product_attributes as $taxonomy ){
if( taxonomy_exists($taxonomy) ){
$label_name = get_taxonomy( $taxonomy )->labels->singular_name;
$value = $product->get_attribute('pa_weight');
if( ! empty($value) ){
// Storing attributes for output
$attr_output[] = '<span class="'.$taxonomy.'">'.$label_name.': '.$value.'</span>';
}
}
}
// Output attribute name / value pairs separate by a "<br>"
echo '<div class="product-attributes">'.implode( '<br>', $attr_output ).'</div>';
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
我想在每个产品的商店页面上显示我选择的一些特定产品属性。有必要显示属性的名称并与它的值相对。我开始写代码,我想至少打印名字,但是我只显示最后一个属性的名字
add_action('woocommerce_after_shop_loop_item','add_attribute');
function add_attribute() {
global $product;
$weigth_val = $product->get_attribute('weight');
$quant_val = $product->get_attribute('quantity');
$length_val = $product->get_attribute('length');
echo $weigth_val;
echo $quant_val;
echo $length_val;
}
在 woocommerce 中,每个产品属性都是自定义分类法,并记录在数据库中,并在其 slugs 的开头添加 pa_
…
该分类名称将与 WC_Product get_attribute()
方法一起使用。
因此,您的代码应该改为:
add_action('woocommerce_after_shop_loop_item','displaying_product_attributes');
function displaying_product_attributes() {
global $product;
$weigth_val = $product->get_attribute('pa_weight');
$quant_val = $product->get_attribute('pa_quantity');
$length_val = $product->get_attribute('pa_length');
echo $weigth_val;
echo $quant_val;
echo $length_val;
}
现在应该可以了……
要获取产品属性名称标签以及您将使用的产品的相应名称值:
add_action('woocommerce_after_shop_loop_item','add_attribute');
function add_attribute() {
global $product;
$product_attributes = array( 'pa_weight', 'pa_quantity', 'pa_length', 'pa_color' );
$attr_output = array();
// Loop through the array of product attributes
foreach( $product_attributes as $taxonomy ){
if( taxonomy_exists($taxonomy) ){
$label_name = get_taxonomy( $taxonomy )->labels->singular_name;
$value = $product->get_attribute('pa_weight');
if( ! empty($value) ){
// Storing attributes for output
$attr_output[] = '<span class="'.$taxonomy.'">'.$label_name.': '.$value.'</span>';
}
}
}
// Output attribute name / value pairs separate by a "<br>"
echo '<div class="product-attributes">'.implode( '<br>', $attr_output ).'</div>';
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。