0

如果库存低于 4,我正在尝试更改单个产品页面上的库存消息数量,否则显示默认消息。

在此处输入图像描述

我想要什么:当库存低于 4(例如 3)时,我想显示“低库存”而不是“库存 3”。

我想我需要添加一个过滤器来修改那里显示的内容,但不确定。我在网上找到了一个似乎与我正在寻找的代码接近的代码,但我不知道让它工作缺少什么。

函数 load_variation_settings_fields( $variation_data, $product, $variation ) {

$qty->get_stock_quantity()

if( $variation-> $qty < 3 )

$variation_data['text_field'] = __('库存不足');

否则 $variation_data['text_field'] = __($qty . 'in stock');

返回 $variation_data; }

你能帮我制作正确的 PHP 代码来使这个函数工作吗?

非常感谢。

杰夫

4

1 回答 1

1

您可以使用woocommerce_get_availability以下方式实现:

add_filter( 'woocommerce_get_availability', 'change_stock_text', 20, 2 );

function change_stock_text( $availability, $_product ) {

    if ( $_product->is_in_stock() ) {

        if ( $_product->get_stock_quantity() < 4 ) {

            $qty                          = $_product->get_stock_quantity();
            $availability['availability'] = __( "{$qty} Low Stock", 'woocommerce' );
        }
    }

    return $availability;
}

输出:

在此处输入图像描述

于 2018-09-27T16:55:26.247 回答