我的产品价格需要全部以“每平方英尺”结尾。我希望这仅适用于特定类别的产品,并且仅适用于价格大于 0 的情况。
当产品没有列出价格时,我需要在价格上写上“致电询问价格”,后面不带平方英尺文本。
这是我在网上找到的一个开始,但他们没有任何与之相关的条件,因此它们始终适用于所有产品。
/* Display "Call for Price" instead of empty price */
add_filter( 'woocommerce_get_price_html', 'custom_price_message' );
function custom_price_message( $price ) {
$vat = ' per sq. ft.';
return $price . $vat;
}
/* Display "Call for Price" instead of empty price */
add_filter('woocommerce_empty_price_html', 'custom_call_for_price');
add_filter('woocommerce_variable_empty_price_html', 'custom_call_for_price');
add_filter('woocommerce_variation_empty_price_html', 'custom_call_for_price');
function custom_call_for_price() {
return 'Call for Price';
}
add_filter( 'woocommerce_get_price_html', 'custom_price_message' );
function custom_price_message($price) {
if(!empty($price)){
$vat = 'Your Text Here';
return $price . $vat;
}else{
return 'CALL FOR PRICE';
}
}
我希望这能起作用。
谢谢你们的帮助。我使用了你的两个代码字符串,这就是我想到的:
add_filter( 'woocommerce_get_price_html', 'custom_price_message' );
function custom_price_message($price) {
if ( !has_term( 'stone', 'product_cat' ) ) {
return $price;
} elseif (!empty($price)){
$vat = ' per ft<sup>2</sup>';
return $price . $vat;
}else{
return 'Call for Price';
}
}