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

Диагностика проблемы: почему нужно отключать отзывы selectively

В WooCommerce отзывы включены глобально и отображаются на всех товарах по умолчанию. Однако бывают ситуации, когда отзывы неуместны или нежелательны для конкретных товаров — например, для виртуальных продуктов, услуг, товаров с ограниченным сроком или уникальных предложений. Полностью отключать отзывы на сайте — плохое решение, так как отзывы важны для SEO и доверия покупателей. Нужно selectively отключать отзывы для отдельных товаров.

Как работает отключение отзывов в WooCommerce

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

Проверка текущего состояния

Для одиночного товара откройте редактирование в админке WordPress и найдите блок «Отзывы» в настройках товара. Если его нет, отзывы отключены. Глобально проверьте: «WooCommerce → Настройки → Продукты → Включить отзывы».

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

Мы реализуем фильтр, который отключит отзывы для товаров по условию. Например, отключим отзывы для категории товаров no-reviews или для товаров с произвольным метаполем.

1. Добавление кода в functions.php или в отдельный плагин

add_filter('comments_open', 'disable_reviews_for_specific_products', 10, 2);
function disable_reviews_for_specific_products($open, $post_id) {
    if (get_post_type($post_id) !== 'product') {
        return $open; // только для товаров
    }

    // Отключаем отзывы для товаров из категории 'no-reviews'
    if (has_term('no-reviews', 'product_cat', $post_id)) {
        return false;
    }

    // Альтернативно: отключаем отзывы по метаполю '_disable_reviews'
    $disable = get_post_meta($post_id, '_disable_reviews', true);
    if ($disable === 'yes') {
        return false;
    }

    return $open;
}

2. Добавление метаполя для удобства

Чтобы управлять отключением отзывов без правки кода, можно добавить кастомное поле _disable_reviews через Advanced Custom Fields или вручную, ставить значение yes для нужных товаров.

3. Создание категории 'no-reviews'

Через админку WooCommerce создайте категорию «no-reviews» и прикрепите к ней соответствующие товары.

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

Откройте страницу товара с категорией no-reviews или с метаполем _disable_reviews = yes. Вкладка с отзывами и форма для добавления отзыва должны отсутствовать. Для других товаров отзывы должны отображаться.

Дополнительно можно проверить через REST API:

GET /wp-json/wp/v2/comments?post=ID_товара

Если отзывы отключены, комментарии не показываются.

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

  • Отзывы не отключаются на уровне администратора. Проверьте, что глобальная настройка отзывов в WooCommerce включена, иначе фильтр не сработает.
  • Метаполе не учитывается. Убедитесь, что поле _disable_reviews именно такое и значение yes — без лишних пробелов и регистра.
  • Отзывы отображаются несмотря на категорию. Проверьте правильность слага категории и что товары действительно прикреплены к ней.
  • Кэширование сайта мешает обновлениям. Очистите кэш плагинов, CDN и браузера после изменений.

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

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

Сравнение способов отключения отзывов в WooCommerce

МетодОписаниеПлюсыМинусы
Отключение в настройках товара (GUI)Вручную выключить отзывы для каждого товара в админкеПросто, подходит для 1-2 товаровНе подходит для массовых изменений
Использование категории 'no-reviews'Группировка товаров и отключение отзывов по категорииУдобно для больших групп товаровНужна категория, может быть неудобно для сложных условий
Использование метаполя '_disable_reviews'Управление отключением отзывов через кастомное полеГибко, легко интегрируется с ACF и другими плагинамиПотребуется добавить UI для удобства
Как добавить нестандартные (вложенные) комментарии в WordPress
09.02.2026
Как создать собственный виджет в WordPress с примером кода
28.12.2025
Как создать и использовать каскадные шаблоны в WordPress для гибкой настройки сайта
05.03.2026
Как исправить ошибку «Не открывается корзина WooCommerce»: практическое руководство
30.06.2026
WooCommerce: изменение цен товаров в заказе без потери кеширования
13.06.2026