Почему важно автоматизировать создание отзывов в WooCommerce
Отзывы покупателей играют ключевую роль в увеличении доверия и повышении конверсии интернет-магазина. Однако не все пользователи оставляют отзывы самостоятельно. Автоматическое создание черновиков отзывов после успешной покупки помогает стимулировать этот процесс, ускоряя вывод отзывов на сайт и давая возможность менеджерам или самим покупателям быстро их отредактировать и опубликовать.
Диагностика: как понять, что автоматизация отзывов необходима
- Низкий процент отзывов по сравнению с количеством заказов.
- Ручное добавление отзывов занимает много времени.
- Покупатели жалуются, что не получают напоминаний или удобных способов оставить отзыв.
Пошаговое решение: добавляем автоматическое создание отзывов в WooCommerce
1. Создание функции для автоматического добавления отзыва после завершения заказа
Используем хук woocommerce_order_status_completed, который срабатывает при смене статуса заказа на «завершён».
add_action('woocommerce_order_status_completed', 'auto_create_review_after_purchase', 10, 1);function auto_create_review_after_purchase($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(); if (!$product_id) continue; $current_user = $order->get_user(); $user_id = $current_user ? $current_user->ID : 0; $review_data = array( 'comment_post_ID' => $product_id, 'comment_author' => $order->get_billing_first_name() . ' ' . $order->get_billing_last_name(), 'comment_author_email' => $order->get_billing_email(), 'comment_content' => 'Спасибо за покупку! Оставьте, пожалуйста, свой отзыв.', 'comment_type' => 'review', 'comment_parent' => 0, 'user_id' => $user_id, 'comment_approved' => 0 // черновик ); wp_insert_comment($review_data); }};2. Добавление уведомления менеджеру о новых отзывах на модерацию
Чтобы не пропускать отзывы в статусе «на модерации», можно отправлять уведомления администратору:
function notify_admin_new_review($comment_id, $comment_approved) { if (1 === $comment_approved) return; // Только новые неопубликованные отзывы $comment = get_comment($comment_id); if ($comment->comment_type !== 'review') return; $admin_email = get_option('admin_email'); $subject = 'Новый отзыв ожидает модерации'; $message = 'Появился новый черновик отзыва для товара ID: ' . $comment->comment_post_ID . '\n'; wp_mail($admin_email, $subject, $message);}add_action('comment_post', 'notify_admin_new_review', 10, 2);Проверка результата после внедрения
- Оформите заказ и переведите его в статус «завершён».
- Перейдите в панель администратора WordPress > Комментарии (Reviews) и проверьте наличие новых комментариев с типом «review» и статусом «ожидает модерации».
- Убедитесь, что уведомление на e-mail администратора пришло.
- Отредактируйте и опубликуйте отзыв, проверьте вывод на странице товара.
Частые ошибки и как их исправить
- Отзывы не создаются после смены статуса заказа.
Проверьте, что хукwoocommerce_order_status_completedсрабатывает. Логируйте входящие $order_id. Убедитесь, что функция подключена в functions.php или через плагин. - Отзывы публикуются сразу, а не как черновики.
В массиве$review_dataустановите'comment_approved' => 0для черновика. Значение 1 — публикация сразу. - Пользователь не определён, комментарий пишется без автора.
Проверьте, что метод$order->get_user()возвращает пользователя. Для гостей используйте данные из полей заказа. - Письма-уведомления не приходят.
Проверьте настройки почты сервера и фильтры спама. Используйте SMTP-плагин для надежной отправки.
Практические советы по безопасности и производительности
- Не публикуйте отзывы автоматически — сначала они должны пройти модерацию, чтобы избежать спама.
- Для сайтов с большим количеством заказов оптимизируйте функцию, чтобы не перегружать базу данными. Добавьте логирование ошибок.
- Используйте транзакции базы данных и проверяйте, что отзывы не дублируются для одного заказа и товара.
- Для улучшения UX добавьте в письма ссылки на страницу редактирования отзыва для администратора или покупателя.
Сравнение вариантов решения автоматического создания отзывов
| Метод | Преимущества | Недостатки |
|---|---|---|
| Плагин автоматизации отзывов | Простота настройки, дополнительные функции (напоминания, рейтинги) | Зависимость от сторонних обновлений, нагрузка на сайт |
| Кастомный код (пример выше) | Полный контроль, легковесность, отсутствие лишних функций | Требует поддержки и доработки, нет автоматических напоминаний |
| Автоматические напоминания по email без создания черновиков | Минимальная нагрузка, стимулирует пользователя написать отзыв | Зависит от активности пользователя, не гарантирует отзывы |