Как добавить виджет отзывов с подтверждением на WordPress

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

Зачем нужен виджет отзывов с подтверждением покупки

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

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

Лучшие плагины для отзывов с подтверждением на WordPress

Плагин WPGPT Reviews Pro (ссылка с utm)

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

Особенности:

  • Автоматический запрос отзывов после покупки;
  • Возможность ручной модерации и одобрения;
  • Отображение отзывов в виджете с фильтрацией по подтверждённым;
  • Интерфейс с настройками в админке.

Подробнее и скачать плагин можно на wpshop.ru.

Другие полезные плагины

Если WPGPT не подходит, обратите внимание на:

  • Customer Reviews for WooCommerce — бесплатный плагин с возможностью подтверждения заказа;
  • WP Customer Reviews — простой плагин с возможностью модерации;
  • ReviewX — расширенный плагин с поддержкой нескольких типов отзывов.

Как самостоятельно реализовать виджет отзывов с подтверждением покупки

Создаем пользовательское поле для подтверждения

Для примера рассмотрим WooCommerce. При оформлении заказа можно сохранить мета-данные, которые будут указывать, что отзыв может быть оставлен только после выполнения заказа.

function wppuzzle_add_review_verified_meta( $comment_id, $comment_approved, $commentdata ) {
    if ( 'product' === get_post_type( $commentdata['comment_post_ID'] ) ) {
        $order_id = intval( get_comment_meta( $comment_id, 'order_id', true ) );
        if ( $order_id ) {
            add_comment_meta( $comment_id, 'wppuzzle_verified_purchase', true, true );
        }
    }
}
add_action( 'comment_post', 'wppuzzle_add_review_verified_meta', 10, 3 );

Этот код добавляет мета-данные к отзыву, если он связан с заказом.

Проверка и вывод только подтверждённых отзывов

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

function wppuzzle_get_verified_reviews( $product_id ) {
    $args = array(
        'post_id' => $product_id,
        'meta_key' => 'wppuzzle_verified_purchase',
        'meta_value' => true,
        'status' => 'approve',
        'type' => 'review',
    );
    $comments = get_comments( $args );
    return $comments;
}

function wppuzzle_display_verified_reviews( $product_id ) {
    $reviews = wppuzzle_get_verified_reviews( $product_id );
    if ( ! empty( $reviews ) ) {
        echo '<ul class="wppuzzle-verified-reviews">';
        foreach ( $reviews as $review ) {
            echo '<li>' . esc_html( $review->comment_content ) . ' — <em>' . esc_html( $review->comment_author ) . '</em></li>';
        }
        echo '</ul>';
    } else {
        echo '<p>Пока нет подтверждённых отзывов.</p>';
    }
}

Вы можете вызвать wppuzzle_display_verified_reviews( get_the_ID() ); в шаблоне товара для вывода списка подтверждённых отзывов.

Автоматизация сбора отзывов с подтверждением

Отправка письма с приглашением оставить отзыв

Для повышения количества отзывов полезно автоматически отправлять клиентам письма через 5–7 дней после получения заказа. Это можно сделать с помощью плагина WPGPT Reviews Pro или самостоятельно через cron и wp_mail.

Пример простого крона:

function wppuzzle_send_review_request() {
    $args = array(
        'status' => 'completed',
        'date_completed' => date( 'Y-m-d H:i:s', strtotime( '-7 days' ) ),
    );
    $orders = wc_get_orders( $args );
    foreach ( $orders as $order ) {
        $email = $order->get_billing_email();
        $subject = 'Пожалуйста, оставьте отзыв о вашем заказе';
        $message = 'Спасибо за покупку! Пожалуйста, оцените товар по ссылке: ' . get_permalink( $order->get_items()[0]->get_product_id() );
        wp_mail( $email, $subject, $message );
    }
}
add_action( 'wppuzzle_daily_cron', 'wppuzzle_send_review_request' );

if ( ! wp_next_scheduled( 'wppuzzle_daily_cron' ) ) {
    wp_schedule_event( time(), 'daily', 'wppuzzle_daily_cron' );
}

Этот код отправляет письма всем клиентам, у которых заказы завершены 7 дней назад.

Настройка виджета отзывов на сайте

Для отображения отзывов в сайдбаре или в футере можно зарегистрировать собственный виджет:

class WPPuzzle_Verified_Reviews_Widget extends WP_Widget {
    public function __construct() {
        parent::__construct(
            'wppuzzle_verified_reviews',
            'Подтверждённые отзывы',
            array( 'description' => 'Отображает отзывы с подтверждением покупки' )
        );
    }

    public function widget( $args, $instance ) {
        echo $args['before_widget'];
        if ( ! empty( $instance['title'] ) ) {
            echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
        }

        $product_id = get_option( 'wppuzzle_widget_product_id' );
        wppuzzle_display_verified_reviews( $product_id );

        echo $args['after_widget'];
    }

    public function form( $instance ) {
        $title = ! empty( $instance['title'] ) ? $instance['title'] : 'Отзывы клиентов';
        $product_id = ! empty( $instance['product_id'] ) ? $instance['product_id'] : '';
        ?>
        <p>
            <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>">Заголовок:</label>
            <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
        </p>
        <p>
            <label for="<?php echo esc_attr( $this->get_field_id( 'product_id' ) ); ?>">ID товара для отзывов:</label>
            <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'product_id' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'product_id' ) ); ?>" type="number" value="<?php echo esc_attr( $product_id ); ?>">
        </p>
        <?php
    }

    public function update( $new_instance, $old_instance ) {
        $instance = array();
        $instance['title'] = sanitize_text_field( $new_instance['title'] );
        $instance['product_id'] = intval( $new_instance['product_id'] );
        return $instance;
    }
}

function wppuzzle_register_widgets() {
    register_widget( 'WPPuzzle_Verified_Reviews_Widget' );
}
add_action( 'widgets_init', 'wppuzzle_register_widgets' );

Такой виджет позволит выводить отзывы, подтверждённые покупкой, в любом месте сайта через стандартный интерфейс WordPress.

Выводы и рекомендации

Использование подтверждённых отзывов повышает доверие посетителей и улучшает имидж сайта. Для большинства проектов удобнее использовать готовые плагины, например, WPGPT Reviews Pro, которые уже имеют все необходимые функции. Если же есть особые требования — можно реализовать кастомное решение с помощью приведённых выше примеров кода.

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

Оценка производительности WordPress сайта в реальных условиях
23.12.2025
Как удалить автоматические вариации в WooCommerce: практическое руководство
16.05.2026
Как добавить поддержку PHP 8 в WordPress с практическими решениями
09.04.2026
Использование WooCommerce хуков для добавления пользовательских функций на страницах товара
29.05.2026
Как установить ограничения на регистрацию пользователей в WordPress
17.04.2026