WooCommerce: не работает оповещение о новом заказе — решение проблемы

Диагностика проблемы с оповещениями о новом заказе в WooCommerce

Если магазин на WooCommerce перестал отправлять уведомления о новых заказах на электронную почту администратора или менеджера, это может привести к задержке обработки заказов и ухудшить клиентский опыт. Прежде чем переходить к исправлению, необходимо чётко определить источник проблемы.

Основные причины отсутствия уведомлений:

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

Пошаговое решение: как восстановить отправку уведомлений

Шаг 1. Проверяем стандартные настройки email WooCommerce

Перейдите в админке WordPress: WooCommerce > Настройки > Email. Убедитесь, что уведомление «Новый заказ» включено и адрес получателя указан корректно.

Адрес получателя: admin@example.com

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

Шаг 2. Тестируем отправку почты с сайта

Для проверки работы почты используйте плагин Check Email или отправьте тестовое письмо вручную через функцию wp_mail():

wp_mail('admin@example.com', 'Тестовая почта', 'Проверка отправки email из WordPress');

Если письма не приходят, проблема на уровне сервера или настроек SMTP.

Шаг 3. Настраиваем SMTP для надежной отправки писем

Установите и активируйте плагин WP Mail SMTP. Введите параметры SMTP вашего почтового сервера (например, Gmail, Яндекс, или корпоративный SMTP).

После настройки отправьте тестовое письмо из плагина. Если письмо приходит — проблема решена на уровне отправки.

Шаг 4. Проверяем конфликты с плагинами и темой

Отключите все сторонние плагины, кроме WooCommerce, и переключитесь на дефолтную тему WordPress (например, Twenty Twenty-Three). Проверьте, отправляются ли уведомления при новом заказе.

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

Шаг 5. Проверяем статус заказа и хук отправки уведомлений

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

add_action('woocommerce_order_status_processing', 'woocommerce_email_new_order_notification');

Если уведомления не отправляются, можно вручную вызвать функцию отправки:

function send_admin_new_order_email( $order_id ) {
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    if ( ! $order ) {
        return;
    }

    // Получаем объект email
    $mailer = WC()->mailer();
    $mails = $mailer->get_emails();
    if ( ! empty( $mails ) ) {
        foreach ( $mails as $mail ) {
            if ( $mail->id === 'new_order' ) {
                $mail->trigger( $order_id );
            }
        }
    }
}
add_action( 'woocommerce_thankyou', 'send_admin_new_order_email', 10, 1 );

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

Создайте тестовый заказ в магазине и проверьте, пришло ли уведомление на почту администратора. Рекомендуется проверить:

  • Папку «Входящие» и «Спам»;
  • Логи почтового сервера (если есть доступ);
  • Отчёты плагина SMTP (например, WP Mail SMTP ведет лог отправленных писем).

Частые ошибки и как их исправить

  • Неверный email получателя: в настройках WooCommerce или SMTP указан неправильный адрес — исправьте на правильный.
  • Письма попадают в спам: проверьте SPF, DKIM и DMARC записи домена, используйте SMTP с авторизацией.
  • Конфликт плагинов: сторонние плагины для почты (например, Post SMTP, MailPoet) могут конфликтовать — временно отключайте для теста.
  • Кастомизация email-шаблонов: повреждённые или неправильно изменённые шаблоны могут блокировать отправку — восстановите стандартные шаблоны.
  • Неправильные статусы заказов: если заказ сразу переводится в статус, для которого не предусмотрены уведомления, они не отправятся — настройте логику статусов.

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

  • Используйте SMTP с авторизацией для отправки почты — это увеличит доставляемость и снизит риск попадания в спам.
  • Регулярно обновляйте WooCommerce и плагины, связанные с почтой, чтобы избежать уязвимостей.
  • Не используйте устаревшие плагины для почты, которые не поддерживаются разработчиками.
  • Логи почты помогают быстро выявлять проблемы с отправкой — активируйте их в плагинах SMTP.
  • Если на сайте много заказов, используйте очередь отправки писем (например, через сторонние SMTP-сервисы с API) для снижения нагрузки.

Сравнение способов решения проблемы оповещений

МетодПлюсыМинусыКомпромисс
Стандартные настройки WooCommerceПросто настроить, не требует кодаЗависит от хостинга и почтового сервераХорошо для небольших магазинов
Настройка SMTP через WP Mail SMTPПовышенная надежность доставкиТребует дополнительных настроекОптимально для стабильной работы
Кастомный вызов функции отправки emailГибкость, можно интегрировать с кастомными статусамиТребует знаний PHP и WooCommerceДля опытных разработчиков
Как использовать WPChecker для анализа и исправления ошибок в WordPress
03.04.2026
Как использовать REST API для динамической загрузки контента в WordPress
17.12.2025
Как использовать хуки и фильтры в WordPress для кастомизации сайта
02.11.2025
WooCommerce: как использовать хук woocommerce_order_status_changed для автоматического изменения статуса заказа
19.06.2026
WooCommerce: как использовать хуки для добавления дополнительных полей в заказах
31.05.2026