Как отключить показ «Отсутствует на складе» для товаров WooCommerce

Диагностика проблемы: зачем отключать сообщение «Отсутствует на складе»

WooCommerce по умолчанию отображает статус товара «Отсутствует на складе» (Out of stock), если остаток равен нулю или меньше. Для интернет-магазинов с частыми товарами под заказ или с ассортиментом, который временно недоступен, такое сообщение может отпугивать покупателей. Иногда нужно скрыть этот статус, чтобы не снижать конверсию и не создавать впечатление дефицита.

Способы отключения показа «Отсутствует на складе» в WooCommerce

1. Отключение через настройки WooCommerce

Самый простой способ — отключить отображение товаров, которых нет в наличии. Это делается в настройках WooCommerce:

  • В админке WordPress зайдите в WooCommerce → Настройки → Товары → Запасы
  • Снимите галочку с «Включить управление запасами» или «Скрывать товары, которых нет в наличии»

Минус: товары не будут показываться вовсе, а не только статус.

2. Отключение вывода статуса через фильтр в functions.php

Чтобы сохранить товары в каталоге, но убрать надпись «Отсутствует на складе», добавьте следующий код в functions.php вашей темы (лучше дочерней):

add_filter( 'woocommerce_get_availability', 'custom_remove_out_of_stock_message', 10, 2 );
function custom_remove_out_of_stock_message( $availability, $product ) {
    if ( $product->get_stock_quantity() <= 0 ) {
        $availability['availability'] = '';
    }
    return $availability;
}

Этот фильтр проверяет количество на складе и заменяет сообщение на пустую строку.

3. Скрытие статуса через CSS

Если по каким-то причинам править PHP неудобно, можно скрыть текст через CSS:

.stock.out-of-stock {
    display: none !important;
}

Минус — статус остается в коде, что может влиять на SEO и пользовательский опыт.

Проверка результата после внедрения решения

  1. Откройте на сайте карточку товара с нулевым запасом
  2. Проверьте, что надпись «Отсутствует на складе» не отображается
  3. Проверьте страницу каталога, чтобы убедиться, что товар виден (если не скрывали полностью)
  4. Для фильтра PHP используйте режим отладки: временно добавьте error_log() внутри функции, чтобы убедиться, что фильтр срабатывает

Частые ошибки и как их исправить

  • Код не сработал — неправильное место вставки: убедитесь, что код находится в functions.php активной дочерней темы, а не в плагине без правильного подключения.
  • Кэширование мешает проверить изменения: очистите кэш сайта и браузера.
  • Конфликт с другими плагинами: проверьте, не переопределяет ли другой плагин статус товара. Временно отключите плагины, связанные с WooCommerce.
  • CSS не применяется: проверьте правильность селектора в инструменте разработчика браузера.

Практические советы по безопасности и производительности

  • Не меняйте ядро WooCommerce, используйте хуки и фильтры для кастомизации
  • Для функций в functions.php делайте резервную копию перед изменениями
  • Используйте дочернюю тему, чтобы не потерять изменения при обновлении темы
  • Избегайте чрезмерного использования CSS для скрытия важных элементов — лучше контролировать логику через PHP

Сравнение вариантов решения

МетодПлюсыМинусыРекомендуемое использование
Отключение в настройках WooCommerceПростота, без кодаСкрывает товары полностьюЕсли нужно убрать товары из каталога
Фильтр PHP в functions.phpГибкость, сохраняются товарыТребует навыков кодаДля тонкой настройки отображения
Скрытие через CSSПростота внедренияСтатус остаётся в кодеВременное решение или тест
Как установить разные виды редиректов в WordPress
22.01.2026
Как отключить показ «Отсутствует на складе» для товаров WooCommerce
06.07.2026
Как изменить количество постов на странице архива WordPress
28.02.2026
Как изменить URL для страниц WordPress с помощью функции wp_link_ru_change_page_url
08.12.2025
Как исключить товары по атрибутам из корзины WooCommerce
27.04.2026