Как отключить отзывы WooCommerce для отдельных товаров

Почему может потребоваться отключить отзывы на отдельные товары WooCommerce

В стандартной конфигурации WooCommerce отзывы включены для всех товаров. Однако бывают ситуации, когда отзывы нежелательны: например, для товаров на предзаказ, цифровых продуктов без физического образца, или товаров с ограниченной аудиторией. Отключать отзывы полностью для всего магазина не всегда удобно, поэтому полезна возможность отключить отзывы выборочно.

Диагностика: как проверить, включены ли отзывы на товаре

По умолчанию отзывы выводятся на странице товара, если в настройках WooCommerce они включены. Чтобы проверить, активны ли отзывы на конкретном товаре:

  • Перейдите в админку WordPress → WooCommerce → Настройки → Вкладка «Товары» → «Отзывы» и убедитесь, что опция «Включить отзывы» активна.
  • Откройте страницу товара на фронтенде и посмотрите, отображаются ли отзывы.
  • Проверьте, нет ли в теме или плагинах переопределения шаблонов отзывов.

Пошаговое решение: отключение отзывов для отдельных товаров через код

Самый надежный и контролируемый способ — добавить фильтр в functions.php вашей дочерней темы или в кастомный плагин. Ниже пример кода, который отключает отзывы на товарах с ID 123 и 456:

add_filter('woocommerce_product_tabs', 'disable_reviews_for_selected_products', 98);
function disable_reviews_for_selected_products($tabs) {
    $excluded_ids = array(123, 456); // ID товаров, для которых отключаем отзывы
    if (is_product()) {
        global $product;
        if (in_array($product->get_id(), $excluded_ids)) {
            unset($tabs['reviews']);
        }
    }
    return $tabs;
}

Этот код полностью удалит вкладку отзывов с страницы товара.

Альтернативный способ — отключить возможность оставлять отзывы, но оставить уже существующие

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

add_filter('comments_open', 'disable_new_reviews_for_selected_products', 10, 2);
function disable_new_reviews_for_selected_products($open, $post_id) {
    $excluded_ids = array(123, 456);
    if (is_product() && in_array($post_id, $excluded_ids)) {
        return false; // Запретить добавление новых отзывов
    }
    return $open;
}

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

  • Очистите кеш сайта, если используется кеширование.
  • Откройте страницу товара с ID из списка отключения и убедитесь, что вкладка отзывов отсутствует или форма добавления отзыва не отображается.
  • Для контроля откройте страницу товара без ограничения — отзывы должны показываться.

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

  • Код не работает на страницах товаров. Проверьте, что используете хук woocommerce_product_tabs или comments_open правильно, и что код вставлен в functions.php активной дочерней темы.
  • Отзывы остаются видимыми, но форма не удаляется. Возможно, тема или плагин выводят отзывы нестандартно. Проверьте шаблоны темы.
  • Код ломает страницу товара. Ошибка синтаксиса или конфликт с другими плагинами. Проверьте логи ошибок и отключите другие плагины для теста.

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

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

Сравнение методов отключения отзывов в WooCommerce

МетодПлюсыМинусыКогда использовать
Удаление вкладки отзывов через woocommerce_product_tabsПолное скрытие отзывов на выбранных товарах, простой кодОтзывы полностью скрыты, нельзя читать старые отзывыЕсли нужна полная блокировка отзывов на товар
Запрет на добавление новых отзывов через comments_openОтзывы остаются видимыми, только добавление новых запрещеноОтзывы не удаляются, пользователи видят старые отзывыЕсли важно сохранить отзывы, но запретить новые
Использование плагинов (например, Disable Comments)Графический интерфейс, простотаОтключает отзывы глобально, редко поддерживает выборочные товарыДля полного отключения отзывов на сайте
Автоматическое удаление неактивных пользователей WooCommerce: практическое руководство
17.04.2026
Как удалить пустые мета-данные из базы данных WordPress
16.01.2026
Как создать динамические формы в WordPress с помощью REST API
05.04.2026
Как автоматически очистить библиотеку медиа в WordPress от неиспользуемых файлов
28.03.2026
Оптимизация базы данных WordPress: лучшие практики и примеры кода
14.11.2025