我想在WooCommerce的价格标签后显示一段文字。我有一个适用于我的functions.php的代码,但它在所有产品类别中均显示。
我想知道是否有人知道如何使此自定义文本仅针对选定的类别显示;甚至更好的是未选择的产品类别,因为将显示文本的产品类别要比不显示产品类别的产品类别多得多。
我的实际代码:
add_filter( 'woocommerce_get_price_html', 'custom_price_message' );
function custom_price_message( $price ) {
$mt = ' per M/T';
return $price . $mt;
}
对此有任何帮助。
答案 0 :(得分:1)
请尝试使用以下代码为定义的产品类别使用has_term()
条件函数:
add_filter( 'woocommerce_get_price_html', 'conditional_price_suffix', 20, 2 );
function conditional_price_suffix( $price, $product ) {
// HERE define your product categories (can be IDs, slugs or names)
$product_categories = array('t-shirts','hoodies');
if( has_term( $product_categories, 'product_cat', $product->get_id() ) )
$price .= ' ' . __('per M/T');
return $price;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
要排除已定义的产品类别,您将替换:
if( has_term( $product_categories, 'product_cat', $product->get_id() ) )
简单地:
if( ! has_term( $product_categories, 'product_cat', $product->get_id() ) )