Мне не имеет смысла размещать текст «(может быть переупорядочен)» на странице продукта Woocommerce, если продукт есть в наличии, поскольку это смущает людей, потому что, в конце концов, он есть в наличии!
Я нашел код для изменения сообщения, если оно было заказано, но не как его удалить, если товар есть в наличии, и я искал в сети несколько часов.
Может ли кто-нибудь предоставить мне код, необходимый в файле functions.php или в другом месте, чтобы изменить его глобально?
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 вашей активной дочерней темы (или активной темы). Проверено и работает.
Если вы хотите отобразить текст «можно переупорядочить», на продуктах, у которых количество запаса равно или меньше значения, установленного в «Порог низкого запаса»:
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;
}
Все, что вам нужно сделать, это пойти сюда
WooCommerce / включает / туалет форматированием - functions.php
И в строке 1197
Изменение
If ($ product-> backorders_allowed () && $ product-> backorders_require_notification ()) {$ display. = ''. __ ('(может быть задержано)', 'woocommerce'); }
К
If ($ product-> backorders_allowed () && $ product-> backorders_require_notification ()) {$ display. = ''. __ ('', 'woocommerce'); }
Надеюсь, это поможет! :)
Вы забыли строку перевода. Это будет:
$availability = str_replace(__( '(can be backordered)', 'woocommerce' ), '', $availability);
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.