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

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

Выбор плагина для отзывов с рейтингом в WordPress

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

1. WP Customer Reviews

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

  • Поддержка модерации отзывов;
  • Возможность включать оценки по нескольким критериям;
  • Лёгкая интеграция с темой.

Для установки достаточно найти плагин в репозитории WordPress и активировать его.

2. Site Reviews

Более функциональный плагин с возможностью выводить отзывы в виде виджетов, шорткодами или блоками Gutenberg. Есть поддержка Google Rich Snippets, что улучшает SEO.

  • Фильтрация и сортировка отзывов по рейтингу;
  • Поддержка CAPTCHA для защиты от спама;
  • Возможность отправки уведомлений администратору.

3. WP Review Pro от MyThemeShop

Премиум-плагин с расширенными возможностями: разные типы рейтингов (звёздочки, проценты, баллы), интеграция с WooCommerce, адаптивный дизайн.

  • Поддержка нескольких критериев оценки;
  • Вывод рейтинга в виде красивых блоков и виджетов;
  • Гибкие настройки внешнего вида.

Подробнее о WP Review Pro и других продуктах MyThemeShop можно узнать на wpshop.ru.

Как добавить отзывы с оценками вручную: пример кода

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

Добавление метаполя для оценки в админке

Для этого создадим метабокс с помощью хука add_meta_box и сохраним значение рейтинга.

function wp0_add_rating_metabox() {
    add_meta_box(
        'wp0_rating',
        'Рейтинг записи',
        'wp0_rating_metabox_callback',
        'post',
        'side',
        'default'
    );
}
add_action('add_meta_boxes', 'wp0_add_rating_metabox');

function wp0_rating_metabox_callback($post) {
    wp_nonce_field('wp0_save_rating', 'wp0_rating_nonce');
    $value = get_post_meta($post->ID, '_wp0_rating', true);
    echo '<label for="wp0_rating_field">Оценка (1-5):</label> ';
    echo '<input type="number" id="wp0_rating_field" name="wp0_rating_field" min="1" max="5" value="' . esc_attr($value) . '" />';
}

function wp0_save_rating($post_id) {
    if (!isset($_POST['wp0_rating_nonce']) || !wp_verify_nonce($_POST['wp0_rating_nonce'], 'wp0_save_rating')) {
        return;
    }

    if (array_key_exists('wp0_rating_field', $_POST)) {
        $rating = intval($_POST['wp0_rating_field']);
        if ($rating >= 1 && $rating <= 5) {
            update_post_meta($post_id, '_wp0_rating', $rating);
        } else {
            delete_post_meta($post_id, '_wp0_rating');
        }
    }
}
add_action('save_post', 'wp0_save_rating');

Вывод среднего рейтинга для записей

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

function wp0_get_average_rating() {
    $args = [
        'post_type' => 'post',
        'posts_per_page' => -1,
        'meta_key' => '_wp0_rating',
        'meta_compare' => 'EXISTS'
    ];

    $query = new WP_Query($args);
    $sum = 0;
    $count = 0;

    if ($query->have_posts()) {
        while ($query->have_posts()) {
            $query->the_post();
            $rating = intval(get_post_meta(get_the_ID(), '_wp0_rating', true));
            if ($rating) {
                $sum += $rating;
                $count++;
            }
        }
        wp_reset_postdata();
    }

    if ($count === 0) {
        return 0;
    }

    return round($sum / $count, 2);
}

Вы можете вывести средний рейтинг в шаблоне так:

echo 'Средний рейтинг сайта: ' . wp0_get_average_rating();

Советы по улучшению отзывов и рейтингов

Чтобы отзывы и рейтинги приносили максимальную пользу, учитывайте следующие рекомендации:

  • Добавьте капчу или двойную верификацию, чтобы убрать спам и фальшивые отзывы.
  • Модерируйте отзывы, чтобы поддерживать качество контента и доверие.
  • Используйте микроразметку Schema.org для отзывов, чтобы улучшить видимость в поиске.
  • Предлагайте пользователям оставлять отзывы после покупки или использования услуги.
  • Выводите отзывы и рейтинг в видимых местах сайта, например, на странице товара или услуги.

Интеграция с WPRemark для создания динамических форм отзывов

Если вы используете плагин WPRemark, можно создать кастомную форму для отзывов с оценками без программирования:

  • Создайте форму с полями для имени, текста отзыва и числовым полем для оценки;
  • Настройте отправку данных в произвольный тип записи или в метаполя;
  • Используйте шорткод или блок формы на нужной странице.

Такой подход позволит быстро запустить сбор отзывов с минимальными усилиями. Подробнее о WPRemark на wpshop.ru.

Наш каталог плагинов WordPress