Мне не имеет смысла размещать текст «(может быть переупорядочен)» на странице продукта Woocommerce, если продукт есть в наличии, поскольку это смущает людей, потому что, в конце концов, он есть в наличии!

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

Может ли кто-нибудь предоставить мне код, необходимый в файле functions.php или в другом месте, чтобы изменить его глобально?

1
electeon 20 Авг 2018 в 22:51

4 ответа

Лучший ответ

Обновлено

Следующий код удалит текст «(может быть переупорядочен)» из текста о наличии товара, когда товар есть в наличии и возможен возврат заказа (с уведомлением клиента):

add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2 );
function filter_product_availability_text( $availability, $product ) {

    if( $product->backorders_require_notification() ) {
        $availability = str_replace('(can be backordered)', '', $availability);
    }
    return $availability;
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

0
LoicTheAztec 21 Авг 2018 в 04:13

Если вы хотите отобразить текст «можно переупорядочить», на продуктах, у которых количество запаса равно или меньше значения, установленного в «Порог низкого запаса»:

add_filter( 'woocommerce_get_availability_text', 'filter_product_availability_text', 10, 2 );
function filter_product_availability_text( $availability, $product ) {

if( $product->get_stock_quantity () > get_option( 'woocommerce_notify_low_stock_amount' )) {
    $availability = str_replace('(can be backordered)', '', $availability);
 }
 return $availability;
}
1
Ciprian Ilinca 14 Янв 2019 в 14:49

Все, что вам нужно сделать, это пойти сюда

WooCommerce / включает / туалет форматированием - functions.php

И в строке 1197

Изменение

If ($ product-> backorders_allowed () && $ product-> backorders_require_notification ()) {$ display. = ''. __ ('(может быть задержано)', 'woocommerce'); }

К

If ($ product-> backorders_allowed () && $ product-> backorders_require_notification ()) {$ display. = ''. __ ('', 'woocommerce'); }

Надеюсь, это поможет! :)

0
Patrick Joseph Aragones 22 Апр 2020 в 21:00

Вы забыли строку перевода. Это будет:

$availability = str_replace(__( '(can be backordered)', 'woocommerce' ), '', $availability);
0
Stieranka 12 Сен 2019 в 10:27
51937649