WooCommerce: автоматическое создание отзывов после покупки

Зачем создавать отзывы автоматически в WooCommerce

Отзывы покупателей — ключ к доверию и повышению конверсии на WooCommerce сайтах. Но не все покупатели оставляют отзывы самостоятельно. Автоматизация создания отзывов после покупки позволяет заполнить раздел отзывов реальными данными, улучшить социальное доказательство и стимулировать продажи.

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

Если отзывы в WooCommerce отсутствуют или их слишком мало, проверьте следующие моменты:

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

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

Пошаговое решение: как автоматически создавать отзывы после заказа

1. Создаем отзыв на основе данных заказа

Для автоматического добавления отзыва после успешного завершения заказа используем хук woocommerce_order_status_completed. В примере ниже автоматически создается отзыв с текстом и рейтингом для каждого товара в заказе.

add_action('woocommerce_order_status_completed', 'auto_create_product_reviews', 10, 1);function auto_create_product_reviews($order_id) {  if (!$order_id) return;  $order = wc_get_order($order_id);  if (!$order) return;  foreach ($order->get_items() as $item) {    $product_id = $item->get_product_id();    $user_id = $order->get_user_id();    if (!$product_id || !$user_id) continue;    // Проверяем, оставлял ли пользователь отзыв ранее    $args = [      'post_id' => $product_id,      'user_id' => $user_id,      'count' => true,    ];    $reviews_count = get_comments($args);    if ($reviews_count > 0) continue;    // Создаем отзыв    $commentdata = [      'comment_post_ID' => $product_id,      'comment_author' => '',      'comment_author_email' => '',      'comment_author_url' => '',      'comment_content' => 'Отличный товар! Полностью доволен покупкой.',      'comment_type' => 'review',      'comment_approved' => 1,      'user_id' => $user_id,    ];    $comment_id = wp_insert_comment($commentdata);    if ($comment_id) {      // Добавляем рейтинг 5 звезд      add_comment_meta($comment_id, 'rating', 5, true);    }  }}

2. Добавляем имя и email пользователя в отзыв

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

add_action('woocommerce_order_status_completed', 'auto_create_product_reviews_detailed', 20, 1);function auto_create_product_reviews_detailed($order_id) {  if (!$order_id) return;  $order = wc_get_order($order_id);  if (!$order) return;  foreach ($order->get_items() as $item) {    $product_id = $item->get_product_id();    $user_id = $order->get_user_id();    if (!$product_id || !$user_id) continue;    $args = [      'post_id' => $product_id,      'user_id' => $user_id,      'count' => true,    ];    $reviews_count = get_comments($args);    if ($reviews_count > 0) continue;    $user = get_userdata($user_id);    if (!$user) continue;    $commentdata = [      'comment_post_ID' => $product_id,      'comment_author' => $user->display_name,      'comment_author_email' => $user->user_email,      'comment_author_url' => '',      'comment_content' => 'Отличный товар! Полностью доволен покупкой.',      'comment_type' => 'review',      'comment_approved' => 1,      'user_id' => $user_id,    ];    $comment_id = wp_insert_comment($commentdata);    if ($comment_id) {      add_comment_meta($comment_id, 'rating', 5, true);    }  }}

Проверка результата после внедрения

  1. Оформите тестовый заказ с зарегистрированным пользователем;
  2. Дождитесь смены статуса заказа на "Завершен" (completed);
  3. Перейдите к странице товара, по которому был заказ;
  4. Убедитесь, что появился новый отзыв с именем пользователя и рейтингом;
  5. Проверьте в админке WordPress → Комментарии, что отзыв опубликован и имеет мета-данные рейтинга.

Частые ошибки и способы их исправления

  • Отзывы не создаются после смены статуса: проверьте, правильно ли используется хук woocommerce_order_status_completed, и не блокирует ли код выполнение другие плагины.
  • Отзывы создаются, но без рейтинга: убедитесь, что мета-ключ rating добавлен именно к ID комментария, а не к посту.
  • Отзывы дублируются: добавьте проверку наличия отзыва от пользователя для конкретного продукта (как в примерах выше).
  • Имя и email не отображаются: проверьте, что данные пользователя доступны и корректно подставляются в массив при создании комментария.
  • Отзывы не видны на сайте: в настройках WooCommerce убедитесь, что включены отзывы и рейтинг в настройках продуктов.

Практические советы по безопасности и производительности

  • Код добавления отзывов должен выполняться только один раз для каждого заказа, чтобы избежать дублирования.
  • Не стоит создавать слишком много отзывов автоматом, чтобы не вызвать подозрение у поисковиков и пользователей — используйте умеренный текст и рейтинг.
  • При большом потоке заказов используйте отложенную обработку через WP-Cron или очереди задач, чтобы снизить нагрузку на сервер.
  • Обязательно проверяйте права доступа и валидность данных перед созданием комментариев, чтобы избежать SQL-инъекций или ошибок.

Сравнение способов автоматического создания отзывов в WooCommerce

МетодОписаниеПлюсыМинусы
Код на хук woocommerce_order_status_completedАвтоматическое создание отзыва сразу после завершения заказаПолный контроль, не требует плагинов, можно кастомизироватьТребует навыков программирования, нужно избегать дубликатов
Плагин автоматизации отзывовГотовое решение с настройками и шаблонамиПростота установки, поддержкаМожет быть платным, ограниченная гибкость
Ручное напоминание покупателямОтправка писем с просьбой оставить отзывНатуральный способ, повышает вовлеченностьЗависит от активности клиентов, требует настроек почты
Как добавить дополнительное поле в форму регистрации WordPress с сохранением и валидацией
11.12.2025
Как отследить и удалить нерабочие ссылки в WooCommerce
20.04.2026
Как автоматически отправлять сообщения в Telegram из WordPress
09.03.2026
Как автоматически удалять спам из формы обратной связи WordPress
27.03.2026
Как автоматизировать создание alt-текста для изображений в WordPress
10.02.2026