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

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

Почему важны автоматические отзывы на WordPress

Отзывы — один из ключевых факторов доверия к сайту. Но ручной сбор отзывов требует времени и усилий. Автоматизация позволяет:

  • Собирать отзывы сразу после взаимодействия пользователя с сайтом или покупкой.
  • Автоматически публиковать их с минимальным вмешательством администратора.
  • Повысить активность и вовлечённость посетителей.
  • Уменьшить нагрузку на службу поддержки.

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

Используемые плагины для автоматических отзывов

Для создания автоматических отзывов на WordPress можно рассмотреть следующие плагины:

1. Expert Review

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

2. WP Customer Reviews

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

3. WP Review Pro (от MyThemeShop)

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

Как создать автоматические отзывы с помощью собственного кода

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

Регистрация шорткода с формой отзыва

function wpmax_register_review_form_shortcode() {
    ob_start();
    ?>
    <form id="wpmax-review-form">
        <label>Ваше имя:</label>
        <input type="text" name="author" required />
        <label>Отзыв:</label>
        <textarea name="content" required></textarea>
        <input type="submit" value="Отправить отзыв" />
        <div id="wpmax-review-message"></div>
    </form>
    <script>
    jQuery(document).ready(function($){
        $('#wpmax-review-form').on('submit', function(e){
            e.preventDefault();
            var data = {
                action: 'wpmax_submit_review',
                author: $(this).find('input[name=author]').val(),
                content: $(this).find('textarea[name=content]').val(),
                nonce: wpmax_ajax_object.nonce
            };
            $.post(wpmax_ajax_object.ajax_url, data, function(response){
                $('#wpmax-review-message').text(response.data.message);
                if(response.success){
                    $('#wpmax-review-form')[0].reset();
                }
            });
        });
    });
    </script>
    <?php
    return ob_get_clean();
}
add_shortcode('wpmax_review_form', 'wpmax_register_review_form_shortcode');

Обработка AJAX-запроса для создания отзыва

function wpmax_handle_ajax_review() {
    check_ajax_referer('wpmax_nonce_action', 'nonce');
    $author = sanitize_text_field($_POST['author']);
    $content = sanitize_textarea_field($_POST['content']);
    if(empty($author) || empty($content)) {
        wp_send_json_error(['message' => 'Пожалуйста, заполните все поля.']);
    }
    $new_review = [
        'post_title'   => wp_strip_all_tags($author),
        'post_content' => $content,
        'post_status'  => 'pending', // модерация
        'post_type'    => 'wpmax_review'
    ];
    $post_id = wp_insert_post($new_review);
    if($post_id) {
        wp_send_json_success(['message' => 'Спасибо за отзыв! После проверки он появится на сайте.']);
    } else {
        wp_send_json_error(['message' => 'Ошибка при сохранении отзыва.']);
    }
}
add_action('wp_ajax_wpmax_submit_review', 'wpmax_handle_ajax_review');
add_action('wp_ajax_nopriv_wpmax_submit_review', 'wpmax_handle_ajax_review');

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

function wpmax_register_review_cpt() {
    $labels = [
        'name'               => 'Отзывы',
        'singular_name'      => 'Отзыв',
        'add_new_item'       => 'Добавить новый отзыв',
        'edit_item'          => 'Редактировать отзыв',
        'all_items'          => 'Все отзывы',
        'menu_name'          => 'Отзывы'
    ];
    $args = [
        'labels'             => $labels,
        'public'             => true,
        'has_archive'        => false,
        'supports'           => ['title', 'editor'],
        'show_in_rest'       => true,
        'capability_type'    => 'post',
    ];
    register_post_type('wpmax_review', $args);
}
add_action('init', 'wpmax_register_review_cpt');

Вывод отзывов на сайте с пагинацией

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

function wpmax_show_reviews($atts) {
    $paged = get_query_var('paged') ? get_query_var('paged') : 1;
    $query = new WP_Query([
        'post_type'      => 'wpmax_review',
        'post_status'    => 'publish',
        'posts_per_page' => 5,
        'paged'          => $paged
    ]);
    ob_start();
    if($query->have_posts()) {
        echo '<div class="wpmax-reviews-list">';
        while($query->have_posts()) {
            $query->the_post();
            echo '<div class="wpmax-review-item">';
            echo '<h4>' . get_the_title() . '</h4>';
            echo '<div>' . get_the_content() . '</div>';
            echo '</div>';
        }
        echo '</div>';
        // пагинация
        $big = 999999999;
        echo paginate_links([
            'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
            'format' => '?paged=%#%',
            'current' => max(1, $paged),
            'total' => $query->max_num_pages
        ]);
    } else {
        echo '<p>Отзывов пока нет.</p>';
    }
    wp_reset_postdata();
    return ob_get_clean();
}
add_shortcode('wpmax_reviews_list', 'wpmax_show_reviews');

Дополнительные советы и интеграция с плагинами

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

  • Использовать Clearfy Pro для оптимизации и защиты сайта.
  • Добавить CAPTCHA (например, Google reCAPTCHA) в форму отзыва.
  • Настроить email-уведомления с помощью функций WordPress для информирования админа о новых отзывах.
  • Внедрить автоматическое напоминание по email с просьбой оставить отзыв после заказа, используя WooCommerce hooks или сторонние сервисы.

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

Как создать автоматический импорт пользовательских регистраций в WordPress
16.04.2026
Автоматические отзывы на WordPress: создание и настройка
09.04.2026
Как создать автоматические задачи в WordPress на основе WP-Cron
19.01.2026
Как создать уникальные метаданные для каждого типа записей WordPress
16.01.2026
WooCommerce: как отключить автоматическое обновление статуса заказов
24.05.2026