除非价格为零,否则在价格后添加文字,然后在WooCommerce中调价

时间:2017-12-02 18:51:28

标签: php wordpress woocommerce product price

  1. 我的产品价格需要以“每平方英尺”结尾。我希望这仅适用于特定类别的产品,并且仅在价格大于0时才适用。

  2. 当产品没有列出价格时,我需要在没有后面的平方英尺文字的情况下说出“价格要求”的价格。

  3. 所以这是我在网上找到的一个开始,但他们没有任何与之相关的条件,因此它们始终适用于所有产品。

    /* 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';
    }
    

2 个答案:

答案 0 :(得分:1)

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';
 }
}

我希望这有效。

答案 1 :(得分:0)

谢谢你们的帮助。我使用了你的两个代码字符串,这就是我想出的:

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';
 }
}