Добавление поля рейтинга в отзывы на сайте WordPress — частая задача, позволяющая повысить информативность отзывов и улучшить взаимодействие с пользователями. В этой статье мы подробно рассмотрим, как воплотить это функциональное улучшение с помощью кастомного кода и плагинов, а также как интегрировать поле рейтинга с шаблонами темы и формами.
Почему стоит добавить поле рейтинга в отзывы WordPress
Отзывы с рейтингом привлекают внимание посетителей и повышают уровень доверия к сайту. Вместо простого текста пользователь может оценить товар или услугу по шкале, например от 1 до 5 звезд, что позволяет быстрее сформировать мнение. В маркетинговой и SEO-стратегии это также положительно сказывается на CTR и конверсии.
Стандартный функционал WordPress не предусматривает рейтинг в комментариях, поэтому мы рассмотрим несколько способов добавить это поле, учитывая безопасность и удобство для пользователя.
Добавляем поле рейтинга в форму комментариев вручную
Добавление поля рейтинга в форму с помощью хука comment_form_defaults
Для начала расширим форму комментариев, добавив туда поле выбора рейтинга. Это делается через фильтр comment_form_defaults. В functions.php вашей темы или в плагине добавьте следующий код:
function hueman_add_rating_field_to_comment_form($fields) {
$fields['rating'] = '<p class="comment-form-rating">
<label for="rating">Рейтинг</label>
<select name="rating" id="rating" required>
<option value="">Выберите рейтинг</option>
<option value="5">5 – Отлично</option>
<option value="4">4 – Хорошо</option>
<option value="3">3 – Средне</option>
<option value="2">2 – Плохо</option>
<option value="1">1 – Очень плохо</option>
</select>
</p>';
return $fields;
}
add_filter('comment_form_default_fields', 'hueman_add_rating_field_to_comment_form');Этот код добавляет обязательное поле "Рейтинг" с выбором от 1 до 5. Оно появится в стандартной форме комментариев.
Сохраняем значение рейтинга при отправке комментария
Чтобы значения поля сохранялись, используем хук comment_post:
function hueman_save_comment_rating($comment_id) {
if (isset($_POST['rating']) && $_POST['rating'] !== '') {
$rating = intval($_POST['rating']);
if ($rating >= 1 && $rating <= 5) {
add_comment_meta($comment_id, 'rating', $rating);
}
}
}
add_action('comment_post', 'hueman_save_comment_rating');Таким образом, рейтинг сохраняется как мета-данные комментария.
Отображение рейтинга вместе с отзывом
Теперь нужно вывести рейтинг рядом с комментарием. Для этого используем фильтр comment_text или настраиваем шаблон комментариев.
function hueman_display_comment_rating($comment_text, $comment) {
$rating = get_comment_meta($comment->comment_ID, 'rating', true);
if ($rating) {
$stars = str_repeat('★', $rating) . str_repeat('☆', 5 - $rating);
$comment_text = '<div class="comment-rating" title="Рейтинг: ' . esc_attr($rating) . '">' . $stars . '</div>' . $comment_text;
}
return $comment_text;
}
add_filter('comment_text', 'hueman_display_comment_rating', 10, 2);Этот код добавляет звёздочки перед текстом комментария, визуально отображая рейтинг.
Использование плагинов для рейтинга в отзывах
Если хочется более мощного и универсального решения, можно обратиться к плагинам. Вот несколько популярных вариантов:
- WP Customer Reviews — плагин для сбора отзывов с рейтингом и модерацией.
- Site Reviews — расширенный инструмент для отзывов с возможностью интеграции в любую часть сайта.
- Rich Snippets WordPress Plugin — позволяет добавлять рейтинги с микроразметкой для улучшения отображения в поисковиках.
Эти плагины позволяют настроить рейтинги без дополнительного кода и обеспечивают совместимость с SEO.
Как интегрировать поле рейтинга с темой Hueman
Тема Hueman имеет собственные шаблоны комментариев. Чтобы корректно вывести рейтинг, нужно отредактировать шаблон comments.php или использовать хуки темы.
Например, можно добавить в comments.php в цикле вывода комментариев следующий код:
$rating = get_comment_meta(get_comment_ID(), 'rating', true);
if ($rating) {
echo '<div class="hueman-comment-rating">' . str_repeat('★', $rating) . str_repeat('☆', 5 - $rating) . '</div>';
}Для стилизации используйте CSS в файле style.css темы:
.hueman-comment-rating {
color: #FFD700; /* золотой цвет для звезд */
font-size: 16px;
margin-bottom: 5px;
}Обработка ошибок и валидация поля рейтинга
Важно не забывать проверять введённые данные и выводить сообщения об ошибках. Для этого применим хук pre_comment_on_post:
function hueman_validate_comment_rating() {
if (empty($_POST['rating']) || !in_array($_POST['rating'], ['1','2','3','4','5'])) {
wp_die('Ошибка: пожалуйста, выберите корректный рейтинг.');
}
}
add_action('pre_comment_on_post', 'hueman_validate_comment_rating');Это прервёт отправку комментария и выведет ошибку, если рейтинг не выбран или неверен.
Заключение: советы по улучшению отзывов с рейтингом
Добавление рейтинга — это только первый шаг. Для повышения доверия и удобства стоит:
- Добавить микроразметку Schema.org для отзывов и рейтингов — поможет поисковикам показывать расширенные сниппеты.
- Сделать поле рейтинга обязательным, чтобы избежать пустых оценок.
- Использовать AJAX для отправки отзывов без перезагрузки страницы, улучшая UX.
- Рассмотреть возможность интеграции с плагинами WPGPT или Expert Review от WPShop для расширенного анализа отзывов.
Таким образом, вы сможете добавить удобный и эффективный рейтинг в отзывы WordPress, повысить вовлечённость пользователей и улучшить восприятие сайта.