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

Replace blank and zero displayed prices by a text on WooCommerce product variations too

我需要争论。 $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;
}

感谢任何帮助。

要使其也适用于可变产品的变体,请尝试稍作更改的代码:

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

If you want to change the displayed price range on Variable products, that is something different, and you should give some more details related on how you want it to be displayed (on all different cases combinations).

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。