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

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

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

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

  • WP Customer Reviews — позволяет собирать отзывы, модерировать их, использовать капчу и отправлять уведомления на почту.
  • Site Reviews — мощный плагин с возможностью фильтрации, рейтингов и интеграцией с Gutenberg.
  • WP Review Pro от WPSHOP — платный плагин с расширенными возможностями, включая мульти-рейтинги, интеграцию с Google и кастомные стили.

Для примера автоматизации рассмотрим плагин Site Reviews, так как он бесплатен и гибок.

Настройка плагина Site Reviews для автоматизации отзывов

После установки и активации перейдите в настройки плагина. Включите следующие опции:

  • Автоматическое одобрение отзывов от зарегистрированных пользователей.
  • Использование капчи для защиты от спама.
  • Отправка уведомлений администратору о новых отзывах.

Для вывода отзывов на страницу можно использовать шорткод [site_reviews] или виджет. Это позволит автоматически показывать свежие отзывы без дополнительного кода.

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

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

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

function wp5_auto_approve_site_review( $approved, $commentdata ) {
    // Проверяем, что это отзыв от плагина Site Reviews
    if ( isset( $commentdata['comment_type'] ) && $commentdata['comment_type'] === 'site-review' ) {
        // Получаем рейтинг из мета данных
        $rating = isset( $_POST['site_review_rating'] ) ? intval( $_POST['site_review_rating'] ) : 0;
        // Проверяем роль пользователя
        $user = wp_get_current_user();
        if ( $user->exists() && in_array( 'subscriber', (array) $user->roles ) && $rating === 5 ) {
            return 1; // Автоматически одобрить
        }
    }
    return $approved;
}
add_filter( 'pre_comment_approved', 'wp5_auto_approve_site_review', 10, 2 );

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

Автоматическое уведомление пользователей о публикации их отзыва

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

function wp5_notify_user_on_approved_review( $comment_id, $comment_approved ) {
    if ( 1 === $comment_approved ) {
        $comment = get_comment( $comment_id );
        if ( $comment->comment_type === 'site-review' && $comment->user_id ) {
            $user = get_userdata( $comment->user_id );
            $to = $user->user_email;
            $subject = 'Ваш отзыв опубликован на сайте';
            $message = 'Здравствуйте, ' . $user->display_name . "!\n\n"
                . 'Спасибо за ваш отзыв. Вы можете посмотреть его по ссылке: ' . get_comment_link( $comment_id );
            wp_mail( $to, $subject, $message );
        }
    }
}
add_action( 'comment_post', 'wp5_notify_user_on_approved_review', 10, 2 );

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

Использование пользовательских полей для расширенных отзывов

Иногда стандартных полей для отзывов недостаточно. Можно добавить свои поля, например, для указания плюсов и минусов товара или услуги. Для этого подойдет плагин WP Review Pro или собственная реализация через мета-поля.

Пример добавления пользовательского поля плюсов через хук:

function wp5_add_pros_field_to_review( $comment_form ) {
    $comment_form['fields']['pros'] = '<p class="comment-form-pros">'
        . '<label for="pros">Плюсы</label>'
        . '<input id="pros" name="pros" type="text" size="30" /></p>';
    return $comment_form;
}
add_filter( 'comment_form_defaults', 'wp5_add_pros_field_to_review' );

Не забудьте сохранить и вывести это поле в шаблоне отзыва, используя функции add_comment_meta и get_comment_meta.

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

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

  • Реализацию Google reCAPTCHA или других капч.
  • Проверку частоты отправки отзывов одним пользователем.
  • Настройку автоматической фильтрации по ключевым словам.

Плагин Clearfy Pro поможет включить и настроить эти функции без лишних усилий.

Вывод отзывов с автоматическим обновлением

Для удобства пользователей отзывы должны обновляться без перезагрузки страницы. Это можно реализовать с помощью AJAX и REST API WordPress.

Пример упрощенного AJAX-обработчика для подгрузки отзывов:

add_action( 'wp_ajax_wp5_load_reviews', 'wp5_load_reviews_callback' );
add_action( 'wp_ajax_nopriv_wp5_load_reviews', 'wp5_load_reviews_callback' );

function wp5_load_reviews_callback() {
    $args = array(
        'post_id' => intval( $_POST['post_id'] ),
        'status' => 'approve',
        'type' => 'site-review',
        'number' => 5,
        'offset' => intval( $_POST['offset'] ),
    );
    $comments = get_comments( $args );
    if ( empty( $comments ) ) {
        wp_send_json_error( 'No more reviews' );
    }
    $output = '';
    foreach ( $comments as $comment ) {
        $output .= '<div class="review-item">'
            . '<strong>' . esc_html( $comment->comment_author ) . '</strong>'
            . '<p>' . esc_html( $comment->comment_content ) . '</p>'
            . '</div>';
    }
    wp_send_json_success( $output );
}

На фронтенде достаточно создать кнопку «Загрузить еще», которая будет отправлять AJAX-запросы и добавлять полученные отзывы в список.

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

Как удалить неиспользуемые изображения в WordPress: автоматический подход
31.01.2026
WooCommerce: как автоматически обновлять количество товара на складе после возврата
06.06.2026
Как использовать WooCommerce хуки для добавления кастомных пользовательских полей в форму оформления заказа
19.04.2026
Автоматическое изменение цены товара в WooCommerce при выборе разных атрибутов
20.05.2026
Как правильно кэшировать данные в WordPress для ускорения сайта
31.12.2025