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