Многие сайты на WordPress нуждаются в системе оценок и отзывов, будь то интернет-магазин, блог или портал с обзорами. В этой статье разберём, как правильно организовать отзывы с оценками, какие плагины использовать, а также рассмотрим примеры кода для кастомных решений. Это поможет вам повысить вовлечённость пользователей и улучшить доверие к вашему сайту.
Зачем нужны отзывы и оценки на сайте WordPress
Отзывы и оценки — это социальное доказательство, которое повышает доверие посетителей и улучшает SEO. Пользователи чаще покупают, если видят реальные отзывы и рейтинги, а поисковые системы учитывают их при ранжировании.
Кроме того, отзывы помогают собрать обратную связь и выявить проблемы или преимущества продуктов и услуг.
Однако, важно правильно реализовать систему, чтобы она была удобной, безопасной и не перегружала сайт лишними скриптами.
Плагины для организации отзывов с рейтингом
WP Customer Reviews
Простой и бесплатный плагин, позволяющий добавить форму отзывов с рейтингом на любую страницу или пост. Позволяет модерировать отзывы и настраивать внешний вид.
Плюсы: легкая настройка, небольшая нагрузка, поддержка спама.
Site Reviews
Очень гибкий плагин с возможностью выставления рейтинга по звёздам, интеграцией с Gutenberg и виджетами. Поддерживает короткие коды, кастомные шаблоны и уведомления.
WP Review Pro от MyThemeShop
Платный мощный плагин с множеством стилей рейтинга (звёзды, баллы, проценты), интеграцией с Google Rich Snippets и возможностью сбора отзывов пользователей.
Если хотите использовать WP Review Pro, приобретайте с официального сайта WPShop — так получите актуальные обновления и поддержку.
Примеры кода: как добавить простую форму рейтинга и отзывов в тему
Если не хотите использовать плагин, можно добавить базовую функциональность самостоятельно. Для примера создадим кастомное метаполе для постов, куда будут сохраняться оценки и отзывы.
1. Добавление метабокса для оценки и отзыва
function wpfaq_add_review_metabox() {
add_meta_box(
'wpfaq_review_metabox',
'Отзывы и оценки',
'wpfaq_review_metabox_callback',
'post',
'normal',
'high'
);
}
add_action('add_meta_boxes', 'wpfaq_add_review_metabox');
function wpfaq_review_metabox_callback($post) {
wp_nonce_field('wpfaq_save_review_data', 'wpfaq_review_nonce');
$rating = get_post_meta($post->ID, '_wpfaq_rating', true);
$review = get_post_meta($post->ID, '_wpfaq_review', true);
echo '<label for="wpfaq_rating">Оценка (1-5):</label> ';
echo '<input type="number" id="wpfaq_rating" name="wpfaq_rating" min="1" max="5" value="'. esc_attr($rating) .'" /><br />';
echo '<label for="wpfaq_review">Отзыв:</label><br />';
echo '<textarea id="wpfaq_review" name="wpfaq_review" rows="4" cols="50">'. esc_textarea($review) .'</textarea>';
}2. Сохранение данных метаполей
function wpfaq_save_review_data($post_id) {
if (!isset($_POST['wpfaq_review_nonce']) || !wp_verify_nonce($_POST['wpfaq_review_nonce'], 'wpfaq_save_review_data')) {
return;
}
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (!current_user_can('edit_post', $post_id)) {
return;
}
if (isset($_POST['wpfaq_rating'])) {
$rating = intval($_POST['wpfaq_rating']);
if ($rating < 1) $rating = 1;
if ($rating > 5) $rating = 5;
update_post_meta($post_id, '_wpfaq_rating', $rating);
}
if (isset($_POST['wpfaq_review'])) {
update_post_meta($post_id, '_wpfaq_review', sanitize_textarea_field($_POST['wpfaq_review']));
}
}
add_action('save_post', 'wpfaq_save_review_data');3. Вывод оценки и отзыва на сайте
function wpfaq_display_review() {
global $post;
$rating = get_post_meta($post->ID, '_wpfaq_rating', true);
$review = get_post_meta($post->ID, '_wpfaq_review', true);
if ($rating || $review) {
echo '<div class="wpfaq-review">';
if ($rating) {
echo '<div class="wpfaq-rating">Оценка: ' . esc_html($rating) . ' / 5</div>';
}
if ($review) {
echo '<div class="wpfaq-text-review">' . nl2br(esc_html($review)) . '</div>';
}
echo '</div>';
}
}
add_action('the_content', 'wpfaq_display_review');Такой простой пример даст понимание, как хранить и отображать отзывы и оценки без плагинов. Для более продвинутых функций (модерация, AJAX отправка, мульти-рейтинг) лучше использовать готовые решения.
Улучшение отзывов с помощью WPRemark и ABC Pagination
Если хотите автоматизировать ответы на отзывы или комментарии, можно использовать плагин WPRemark. Он позволяет автоматически отвечать на отзывы, что повышает вовлечённость.
Для вывода большого количества отзывов с удобной навигацией рекомендуем использовать ABC Pagination — простой и легкий плагин для постраничной навигации.
Как избежать распространённых ошибок при внедрении отзывов
1. Не забывайте про защиту от спама. Даже если собираете отзывы с рейтингом, обязательно используйте капчу или фильтры.
2. Не перегружайте страницу лишними запросами к базе. Кэшируйте результаты или используйте AJAX для подгрузки отзывов.
3. Обязательно реализуйте модерацию, чтобы избежать публикации нежелательного контента.
4. Подумайте над структурированными данными (Schema.org), чтобы поисковики выводили звездный рейтинг в сниппетах.
Добавление Schema для отзывов с рейтингом
Чтобы поисковые системы распознавали отзывы и показывали их в виде звезд в результатах поиска, добавьте JSON-LD разметку.
function wpfaq_add_review_schema() {
if (is_single()) {
global $post;
$rating = get_post_meta($post->ID, '_wpfaq_rating', true);
$review = get_post_meta($post->ID, '_wpfaq_review', true);
if ($rating) {
$schema = [
"@context" => "https://schema.org",
"@type" => "Review",
"itemReviewed" => [
"@type" => "CreativeWork",
"name" => get_the_title($post->ID),
],
"reviewRating" => [
"@type" => "Rating",
"ratingValue" => $rating,
"bestRating" => 5,
"worstRating" => 1
],
"reviewBody" => $review,
"author" => [
"@type" => "Person",
"name" => get_the_author_meta('display_name', $post->post_author)
]
];
echo '<script type="application/ld+json">' . wp_json_encode($schema) . '</script>';
}
}
}
add_action('wp_head', 'wpfaq_add_review_schema');Это повысит кликабельность вашего сайта в поиске и поможет выделиться среди конкурентов.
Итоги
Организация отзывов и рейтингов в WordPress — важная задача для многих проектов. Вы можете использовать готовые плагины или сделать простую реализацию самостоятельно. В любом случае, обратите внимание на безопасность, удобство пользователя и SEO-оптимизацию. Если хотите расширенный функционал с автоматизацией, обратите внимание на продукты WPShop.