在Woocommerce中我试图在价格之前添加文本,如果高于59€
我尝试了以下代码(以及其他代码),但它们不起作用:
add_filter( 'woocommerce_get_price_html', 'custom_price_message' );
function custom_price_message( $price ) {
if ($price>='59'){
$new_price = $price .__('(GRATIS!)');
}
return $new_price;
}
如果产品价格高于59,我如何在产品价格之前添加(GRATIS!)
文字?
答案 0 :(得分:2)
更新:您应该尝试以下重新访问的功能代码:
add_filter( 'woocommerce_get_price_html', 'prepend_text_to_product_price', 20, 2 );
function prepend_text_to_product_price( $price_html, $product ) {
// Only on frontend and excluding min/max prices on variable products
if( is_admin() || $product->is_type('variable') )
return $price_html;
// Get product price
$price = (float) $product->get_price(); // Regular price
if( $price > 15 )
$price_html = '<span>'.__('(GRATIS)', 'woocommerce' ).'</span> '.$price_html;
return $price_html;
}
代码进入活动子主题(或活动主题)的function.php文件。
经过测试和工作。
仅单品商品页,您将替换此行:
if( $price > 15 ){
由此:
if( $price > 15 && is_product() ){
对于单个商品页面和存档页面,您将替换此行:
if( $price > 15 ){
由此:
if( $price > 15 && ( is_product() || is_shop() || is_product_category() || is_product_tag() ){