Как создать отзывы с оценками в WordPress

Отзыв с оценкой — важный элемент любого сайта, который помогает повысить доверие пользователей и улучшить конверсию. В этой статье мы подробно разберём, как организовать на сайте WordPress удобную и функциональную систему отзывов с оценками. Рассмотрим как готовые решения на базе плагинов, так и создание кастомного функционала с примерами кода.

Почему отзывы с оценками важны для сайта на WordPress

Отзывы позволяют посетителям делиться опытом взаимодействия с продуктом или услугой, а оценки дают быструю визуальную оценку качества. Такой формат повышает социальное доказательство, улучшает SEO благодаря уникальному пользовательскому контенту и увеличивает вовлечённость.

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

Использование плагинов для отзывов с оценками в WordPress

Популярные плагины с рейтингом и отзывами

Наиболее востребованные решения:

  • WP Customer Reviews — простой и бесплатный плагин, который позволяет принимать отзывы с рейтингом и модерировать их.
  • Site Reviews — мощный плагин с поддержкой нескольких типов рейтингов, кастомными полями и шаблонами отображения.
  • Rich Snippets WordPress Plugin — для добавления микроразметки к отзывам и оценкам, что улучшает отображение в поисковой выдаче.
  • Clearfy Pro — не только оптимизация, но и функции улучшения отзывов и рейтингов.

Пример настройки Site Reviews

После установки плагина Site Reviews в админке можно настроить форму для отзывов, выбрать тип оценки (звёзды, баллы), а также включить автоматическую модерацию. Плагин поддерживает вывод через шорткод [site_reviews] и виджеты. Есть возможность интеграции с WooCommerce и другими плагинами.

Создание кастомной системы отзывов с оценками через код

Если нужно полностью контролировать функционал и дизайн, можно сделать систему отзывов с рейтинговыми полями самостоятельно. Рассмотрим пример создания кастомного типа записей "Отзывы" с полем для оценки от 1 до 5 и выводом на фронтенде.

Регистрация кастомного типа записи и метаполя для оценки

function wptemplates_register_review_cpt() {
    $labels = array(
        'name' => 'Отзывы',
        'singular_name' => 'Отзыв',
        'add_new' => 'Добавить отзыв',
        'edit_item' => 'Редактировать отзыв',
    );
    $args = array(
        'labels' => $labels,
        'public' => true,
        'supports' => array('title', 'editor', 'author'),
        'has_archive' => true,
    );
    register_post_type('wptemplates_review', $args);
}
add_action('init', 'wptemplates_register_review_cpt');

function wptemplates_add_review_meta_box() {
    add_meta_box('wptemplates_review_rating', 'Оценка (1-5)', 'wptemplates_review_rating_meta_box_callback', 'wptemplates_review', 'side');
}
add_action('add_meta_boxes', 'wptemplates_add_review_meta_box');

function wptemplates_review_rating_meta_box_callback($post) {
    $value = get_post_meta($post->ID, '_wptemplates_review_rating', true);
    echo '<label for="wptemplates_review_rating_field">Рейтинг:</label> ';
    echo '<select name="wptemplates_review_rating_field" id="wptemplates_review_rating_field">';
    for ($i=1; $i<=5; $i++) {
        $selected = ($value == $i) ? 'selected' : '';
        echo "<option value=\"$i\" $selected>$i</option>";
    }
    echo '</select>';
}

function wptemplates_save_review_rating($post_id) {
    if (array_key_exists('wptemplates_review_rating_field', $_POST)) {
        update_post_meta($post_id, '_wptemplates_review_rating', intval($_POST['wptemplates_review_rating_field']));
    }
}
add_action('save_post', 'wptemplates_save_review_rating');

Вывод отзывов с рейтингом на фронтенде

Создадим шорткод для вывода списка отзывов с звёздочной оценкой.

function wptemplates_reviews_list_shortcode() {
    $args = array(
        'post_type' => 'wptemplates_review',
        'posts_per_page' => 10,
    );
    $query = new WP_Query($args);
    if (!$query->have_posts()) return '<p>Отзывы ещё не добавлены.</p>';

    $output = '<div class="wptemplates-reviews">';
    while ($query->have_posts()) {
        $query->the_post();
        $rating = intval(get_post_meta(get_the_ID(), '_wptemplates_review_rating', true));
        $stars = str_repeat('★', $rating) . str_repeat('☆', 5 - $rating);
        $output .= '<div class="review-item">';
        $output .= '<h3>' . get_the_title() . '</h3>';
        $output .= '<div class="review-rating" title="Рейтинг: ' . $rating . ' из 5">' . $stars . '</div>';
        $output .= '<div class="review-content">' . get_the_content() . '</div>';
        $output .= '</div>';
    }
    $output .= '</div>';
    wp_reset_postdata();
    return $output;
}
add_shortcode('wptemplates_reviews_list', 'wptemplates_reviews_list_shortcode');

Улучшение отзывов: добавление проверки и антиспама

Для повышения качества отзывов важно добавить проверку полей и защиту от спама. Если форма собирает отзывы с фронтенда, стоит использовать nonce-поля и капчу (например, Google reCAPTCHA). Это можно реализовать через плагины или вручную.

Для автоматической модерации и уведомлений рекомендуем использовать плагин Expert Review — он позволяет настроить продвинутую систему отзывов с проверкой и рейтингами.

Вывод отзывов в Gutenberg с кастомным блоком

Если вы используете редактор Gutenberg, можно создать кастомный блок для вывода отзывов. Это позволит пользователям легко вставлять отзывы и управлять их отображением через визуальный интерфейс.

Пример создания блока выходит за рамки этой статьи, но для начала изучите официальное руководство по созданию блоков в Gutenberg.

Выводы

Создание системы отзывов с оценками в WordPress — задача, которую можно решить как с помощью популярных плагинов, так и самостоятельно с кастомным кодом. Важно правильно организовать сбор, модерацию и вывод отзывов, а также подумать о защите от спама и удобстве для пользователей.

Используйте приведённые примеры как основу для реализации собственной системы отзывов, адаптируя под конкретные задачи вашего сайта на WordPress.

Автоматизация установки и настройки темы WordPress: пошаговое руководство
16.03.2026
Как удалить или заблокировать плагин WordPress, если стандартные методы не работают
28.02.2026
Как создать функциональный REST API endpoint в WordPress для обмена данными
04.01.2026
Как удалить или заблокировать плагин WordPress, если стандартные методы не работают
24.01.2026
Как удалить пустые категории в WordPress с помощью кода и плагинов
13.04.2026