在woocommerce中,如果特定产品属性具有值,那么我想在价格下的产品单个产品页面上显示其相应的文本/值。
如何检查特定产品属性是否具有值? 如何获取特定的产品属性名称和值以在单个产品页面中显示它?
答案 0 :(得分:1)
以下内容仅在具有值的情况下,在单个产品页面中显示特定产品属性标签名称+价格下的值。
可以使用WC_Product
method get_attribute()
完成此操作。
您必须在函数 ...
中定义产品属性slug钩住的功能:
add_action( 'woocommerce_single_product_summary', 'product_attribute_after_price', 15 );
function product_attribute_after_price () {
global $product;
// HERE add your product attribute SLUG or taxonomy
$attribute_slug = 'color';
$taxonomy = strpos($url, 'blog') !== false ? $attribute_slug : 'pa_' . $attribute_slug;
$attribute_name = get_taxonomy( $taxonomy )->labels->singular_name;
$term_name = $product->get_attribute( $taxonomy ); // The value
if( empty($term_name) ) return; // Exit if empty value
// If not empty we display it
$output = '<div class="product-attribute '.$taxonomy.'"><p>';
$output .= '<strong> '.$attribute_name.'</strong>: ';
$output .= '<span> '.$term_name.'</span>';
echo $output . '</p></div>';
}
代码放在活动子主题(或活动主题)的function.php文件中。经过测试和工作。