更改可变产品的缺货文本

Changing out of stock text on variable products

我正在使用 Woocommerce 创建一个 Wordpress 网站并使用可变产品。我知道如何更改产品变体的缺货文本,但我想知道当我根本没有添加变体时如何更改缺货文本(即将产品类型设置为可变产品并添加没有变体)。

就目前而言,默认显示的文本是:"This product is currently out of stock and unavailable."

我将如何更改该文本?

使用 gettext 过滤器很容易做到这一点。

function modify_gettext( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
        case 'This product is currently out of stock and unavailable.' :
            $translated_text = __( 'This is my new out of stock text', 'woocommerce' );
            break;
    }
    return $translated_text;
}

add_filter( 'gettext', 'modify_gettext', 20, 3 );

另一种方法是使用专用的 WC 过滤器挂钩 woocommerce_get_availability 这样:

add_filter( 'woocommerce_get_availability', 'change_specific_out_of_stock_availability', 20, 1 );
function change_specific_out_of_stock_availability( $availability ) {
    $targeted_text = ('This product is currently out of stock and unavailable.', 'woocommerce');

    if( $availability['class'] == 'out-of-stock' && $availability['availability'] == $targeted_text )
        $availability['availability'] = __('Custom "Out of stock" notice', 'woocommerce');

    return $availability;
}

此代码在您的活动子主题(或主题)的 function.php 文件中。

已测试并有效。