WooCommerce: как отключить автоматическую отправку email уведомлений после оформления заказа

Диагностика проблемы: почему и когда нужно отключать email уведомления в WooCommerce

WooCommerce по умолчанию отправляет клиентам и администраторам электронные письма при различных событиях: новый заказ, обработка, отмена, возврат и т.д. В некоторых случаях это не нужно — например, при тестировании сайта, использовании сторонних сервисов рассылок или для предотвращения спама. При этом отключение всех уведомлений или выборочное отключение — частая задача, вызывающая вопросы у разработчиков.

Пошаговое решение: отключаем автоматическую отправку email после оформления заказа

1. Отключение всех email уведомлений WooCommerce через код

Для полной деактивации всех email уведомлений можно использовать фильтр 'woocommerce_email_enabled_' . $email_id. Добавьте следующий код в файл functions.php вашей дочерней темы или в отдельный плагин:

add_filter('woocommerce_email_enabled_new_order', '__return_false');
add_filter('woocommerce_email_enabled_customer_processing_order', '__return_false');
add_filter('woocommerce_email_enabled_customer_completed_order', '__return_false');

Этот пример отключит уведомления о новом заказе и о статусах "Обработка" и "Выполнен" для клиента и администратора.

2. Отключение email только для клиентов или только для админов

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

add_filter('woocommerce_email_enabled_customer_processing_order', function($enabled, $order) {
    return false; // Отключить только клиентский email
}, 10, 2);

Для администратора — аналогично, но с другим $email_id.

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

  1. Перейдите в админку WooCommerce - Настройки - Email, убедитесь, что уведомления активны (чтобы не путать настройки плагина и код).
  2. Сделайте тестовый заказ на сайте.
  3. Проверьте, что письма не приходят на почту клиента и администратора.
  4. Проверьте логи почтового сервера или используйте плагин WP Mail Logging для отслеживания отправки писем.

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

  • Письма не отключились: Проверьте, что фильтры добавлены правильно и файл functions.php загружается. Ошибка в синтаксисе PHP может прервать работу.
  • Отключение работает не полностью: WooCommerce использует разные email классы и идентификаторы, убедитесь, что используете нужные фильтры для каждого типа письма.
  • Письма приходят из кеша SMTP-сервера или сторонних сервисов: Очистите очередь почтового сервера и отключите плагины SMTP на время теста.

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

  • Отключайте email уведомления только если уверены, что они не нужны — это важно для информирования клиентов и администраторов.
  • Для временного отключения уведомлений лучше использовать плагин WP Mail Logging, чтобы отслеживать отправку и не потерять важные уведомления.
  • Используйте дочернюю тему для внесения изменений, чтобы не потерять их при обновлении.
  • Если на сайте много email уведомлений, настройте SMTP с авторизацией для надежной доставки.

Сравнение способов отключения email уведомлений WooCommerce

МетодПреимуществаНедостаткиПример использования
Отключение через код с фильтрамиТочный контроль по типам писем, не требует плагиновТребует навыков PHP, возможны ошибки в кодеadd_filter('woocommerce_email_enabled_new_order', '__return_false');
Отключение через настройки WooCommerce EmailПросто и быстроОтключает только отдельные уведомления, нет гибкостиОтключить уведомление в WooCommerce - Настройки - Email
Использование плагинов (например, Disable Emails)Просто для новичков, можно включать/выключатьДополнительная нагрузка на сайт, не всегда гибкие настройкиУстановить и активировать плагин Disable Emails
Как изменить структуру URL сообщений в WordPress без плагинов
19.01.2026
WooCommerce: как автоматически отменять заказ после оплаты через код
08.06.2026
WooCommerce: как установить ограничение на количество товаров в корзине
20.05.2026
Как создать многоязычный сайт на WordPress без плагинов
18.12.2025
Как создать и использовать REST API в WordPress
23.11.2025