Диагностика проблемы: зачем отключать отзывы и оценки товаров
На некоторых сайтах, особенно корпоративных или с узкоспециализированной продукцией, отзывы и оценки товаров могут быть нежелательными. Они могут снижать доверие к товару из-за отсутствия отзывов или негативных комментариев, а также замедлять загрузку страниц из-за дополнительных скриптов. В теме GeneratePress и WooCommerce отзывы и оценки включены по умолчанию, и иногда их нужно полностью отключить.
Как отключить отзывы и оценки на странице товара в WooCommerce с GeneratePress
1. Отключение через настройки WooCommerce
Самый простой способ — отключить отзывы в настройках WooCommerce:
- Перейдите в админке WordPress в WooCommerce > Настройки > Товары.
- Снимите галочку с опции Включить отзывы о товаре.
Этот метод отключает отзывы без дополнительного кода, но не всегда полностью убирает блок оценок из темы, особенно в кастомных темах.
2. Отключение комментариев и оценок через код в functions.php
Для более полного контроля добавьте следующий код в файл functions.php вашей дочерней темы GeneratePress или через плагин для пользовательских сниппетов:
function gp_disable_woocommerce_reviews() {
// Отключаем поддержку отзывов у товаров
remove_post_type_support( 'product', 'comments' );
}
add_action( 'init', 'gp_disable_woocommerce_reviews', 100 );
// Убираем вкладку "Отзывы" на странице товара
add_filter( 'woocommerce_product_tabs', 'gp_remove_reviews_tab', 98 );
function gp_remove_reviews_tab( $tabs ) {
if ( isset( $tabs['reviews'] ) ) {
unset( $tabs['reviews'] );
}
return $tabs;
}
// Отключаем рендеринг блока отзывов в шаблоне
remove_action( 'woocommerce_single_product_summary', 'comments_template', 50 );Этот код отключает поддержку комментариев для типа записи 'product', удаляет вкладку с отзывами и блок комментариев на странице товара.
3. Удаление оценок (звёзд) из карточки товара
WooCommerce выводит рейтинг товара через фильтр woocommerce_product_get_rating_html. Чтобы скрыть звёзды, можно использовать фильтр:
add_filter( 'woocommerce_product_get_rating_html', '__return_empty_string' );Добавьте этот код в functions.php для полного удаления визуального рейтинга.
Пошаговая проверка результата
- Очистите кэш сайта и браузера.
- Перейдите на любую страницу товара и проверьте отсутствие вкладки "Отзывы".
- Убедитесь, что блок с оценками и комментариями не отображается.
- Попробуйте добавить комментарий в админке > Товары > Комментарии — он не должен отображаться на фронтенде.
Частые ошибки и их исправление
- Отзывы все еще видны после отключения: Проверьте, не переопределяет ли тема GeneratePress шаблоны WooCommerce с отзывами. В этом случае нужно проверить папку
generatepress/woocommerce/single-productна наличие файлов с отзывами. - Код не работает: Убедитесь, что код добавлен в дочернюю тему или плагин пользовательских сниппетов, и что нет конфликтов с другими плагинами, которые могут повторно подключать отзывы.
- Отзывы появляются на мобильных устройствах: Проверьте, не добавляет ли тема отзывы через JavaScript, в этом случае понадобится дополнительный CSS или JS для скрытия блока.
Практические советы по безопасности и производительности
- Отключение отзывов снижает нагрузку на базу данных, так как не происходит запросов к комментариям.
- Удалите или отключите плагины для отзывов, если они установлены, чтобы не создавать дублирующий функционал и не замедлять сайт.
- Используйте дочернюю тему для внесения изменений, чтобы не потерять их при обновлении GeneratePress.
Альтернативные способы отключения отзывов: сравнение
| Метод | Плюсы | Минусы |
|---|---|---|
| Отключение в настройках WooCommerce | Простой, не требует кода | Не всегда полностью убирает отзывы из темы |
| Удаление через код (functions.php) | Полный контроль, убирает все следы | Требует знаний PHP, возможны конфликты с темой |
| CSS-скрытие блока отзывов | Простое решение без риска | Отзывы остаются в коде, негативно влияет на SEO |