Изменить сообщение о наличии, когда в WooCommerce мало запасов

Я пытаюсь изменить количество сообщений на одной странице продукта, если запас ниже 4, в противном случае показать сообщение по умолчанию.

Что я хочу: Когда запас ниже 4 (например, 3), я хочу показать "Низкий запас" вместо "3 на складе".

Я думаю, что мне нужно добавить фильтр, чтобы изменить то, что там отображается, но не уверен. Я нашел код в Интернете, который, кажется, близок к тому, что я ищу, но я не знаю, чего не хватает, чтобы заставить его работать.

функция load_variation_settings_fields ( $ вариация_данных, $ продукт, $ вариация) {

$ Qty->get_stock_quantity()

если ( $ вариация-> $ кол-во <3)

$ var_data['text_field'] = __('Low stock');

иначе $ var_data ['text_field'] = __ (кол-во $ в наличии);

вернуть $ var_data; }

Можете ли вы помочь мне сделать правильный код PHP, чтобы эта функция работала?

Большое спасибо.

Джефф

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

Выход:

Другие вопросы по тегам