也用WooCommerce产品变体上的文字替换空白价格和零显示价格

时间:2019-03-29 13:52:26

标签: php wordpress woocommerce price variations

我需要争论。 $blank_price$zero_price。如果产品价格留为空白(未填写),则产品页面将显示$blank_price参数的值,如果产品价格设置为0,则$zero_price参数的值应为显示。

我需要使用它来处理简单和可变产品(变体)。

这是我到目前为止所拥有的,对于简单的产品来说效果很好。我需要为可变产品添加代码的帮助。

代码:

add_filter( 'woocommerce_get_price_html', 'empty_and_zero_price_display', 20, 2 );
function empty_and_zero_price_display( $price, $product ) {
    $blank_price = __('Price not yet set', 'woocommerce');
    $zero_price = __('Free', 'woocommerce');

    if( $product->is_type('simple') ) {
        if ( '' === $product->get_price() ) {
            return $blank_price;
        } else if (0 == $product->get_price() ) {
            return $zero_price;
        }
    }
    return $price;
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

要使其也适用于可变产品的变体,请尝试以下经过轻微更改的代码:

add_filter( 'woocommerce_get_price_html', 'empty_and_zero_price_display', 20, 2 );
function empty_and_zero_price_display( $price, $product ) {
    $blank_price = __('Price not yet set', 'woocommerce');
    $zero_price = __('Free', 'woocommerce');

    if( ! $product->is_type('variable') ) {
        if ( '' === $product->get_price() ) {
            return $blank_price;
        } else if (0 == $product->get_price() ) {
            return $zero_price;
        }
    }
    return $price;
}
  

如果您想更改可变商品上显示的价格范围,那就有所不同,您应该提供更多有关其希望如何变化的详细信息显示(针对所有不同的案例组合)

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。

enter image description here