Почему стоит отключить комментарии и оценки на страницах товаров WooCommerce
В некоторых случаях владельцы интернет-магазинов на WordPress с темой GeneratePress предпочитают отключить отзывы и комментарии на страницах товаров. Это может быть связано с необходимостью убрать негативные отзывы, снизить нагрузку на базу данных, либо если функция отзывов не используется.
Диагностика проблемы: почему комментарии и оценки отображаются и как их проверить
По умолчанию WooCommerce активирует отзывы на страницах товаров, если включена соответствующая опция в настройках. Чтобы проверить, включены ли отзывы:
- Перейдите в WooCommerce > Настройки > Товары > Общие
- Проверьте, активирована ли опция
Включить отзывы о товарах
Если она отключена, а отзывы все равно отображаются, возможно, активна другая настройка темы или кастомный код, который принудительно выводит комментарии.
Пошаговое отключение комментариев и оценок в WooCommerce на GeneratePress
1. Отключение отзывов через настройки WooCommerce
Самый простой способ — полностью выключить отзывы:
WooCommerce > Настройки > Товары > Общие > Снять галочку с "Включить отзывы о товарах"Это отключит и комментарии, и рейтинги на всех страницах товаров.
2. Отключение комментариев через functions.php
Если нужно оставить отзывы, но убрать комментарии, или если по каким-то причинам отзывы продолжают показываться, добавьте следующий код в functions.php дочерней темы GeneratePress:
function gp_disable_comments_on_products() {
if (is_product()) {
// Отключаем поддержку комментариев для товаров
remove_post_type_support('product', 'comments');
// Отключаем вывод шаблона комментариев
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);
}
}
add_action('wp', 'gp_disable_comments_on_products');3. Удаление блока отзывов из шаблона
GeneratePress и WooCommerce выводят отзывы с помощью хука comments_template(). Если отзывы все равно показываются, можно полностью убрать вывод блока с помощью удаления хука:
remove_action('woocommerce_after_single_product_summary', 'comments_template', 50);Рекомендуется добавить это в functions.php дочерней темы.
Проверка результата
- Очистите кэш сайта и браузера.
- Откройте любую страницу товара на сайте.
- Проверьте, что блок с отзывами и комментариями отсутствует.
- В консоли разработчика убедитесь, что не загружаются скрипты и стили отзывов (например,
comment-reply.js).
Частые ошибки и как их исправить
- Отзывы не исчезают после выключения в настройках WooCommerce – проверьте код дочерней темы, возможно, там есть кастомный вывод отзывов.
- Комментарии отображаются, но оценки исчезли – рейтинги выводятся через отдельные функции WooCommerce, отключите их хук
woocommerce_after_single_product_summary. - Кэширование мешает видеть изменения – очистите все виды кэша (плагины, сервер, CDN).
- Код добавлен в родительскую тему – при обновлении темы код будет удалён, используйте дочернюю тему.
Практические советы по безопасности и производительности
- Отключение ненужных отзывов и комментариев снижает нагрузку на базу данных и уменьшает количество запросов.
- Используйте дочернюю тему для кастомизаций, чтобы не потерять изменения при обновлении GeneratePress.
- Проверяйте влияние изменений на мобильную версию и SEO, отзывы могут положительно влиять на поведенческие факторы.
Сравнение вариантов отключения комментариев и отзывов
| Метод | Преимущества | Недостатки | Рекомендации по использованию |
|---|---|---|---|
| Отключение в настройках WooCommerce | Простой, не требует кода | Отключает и отзывы, и рейтинги целиком | Если не нужны отзывы вообще |
| Удаление поддержки комментариев в functions.php | Гибко, можно отключить только комментарии | Требует базовых знаний PHP | Если хотите оставить рейтинги, но убрать комментарии |
| Удаление хука вывода отзывов | Прямое управление выводом | Может конфликтовать с плагинами | Если отзывы выводятся через хук, а не стандартно |