Автоматическая отправка подтверждения заказа в WooCommerce

В интернет-магазинах на базе WooCommerce очень важно оперативно информировать клиентов о статусе их заказов. Один из ключевых моментов — автоматическая отправка подтверждения заказа на email покупателя сразу после оформления или изменения статуса заказа. В этой статье разберём, как настроить автоматическую отправку подтверждения заказа в WooCommerce, используя как стандартные возможности, так и дополнительные хуки и фильтры, а также рассмотрим примеры кода и полезные плагины.

Почему важно автоматизировать отправку подтверждений заказов в WooCommerce

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

  • Отправлять подтверждение не сразу, а после изменения определённого статуса заказа.
  • Добавлять к письму дополнительные данные или вложения.
  • Менять шаблон письма под нужды конкретного магазина.
  • Использовать сторонние SMTP-сервисы для более надёжной доставки.

Для решения этих задач можно использовать как встроенные средства WooCommerce, так и писать собственные функции.

Использование стандартных уведомлений WooCommerce

WooCommerce автоматически отправляет письмо с подтверждением, когда заказ переходит в статус «Обработка» (processing). Чтобы проверить и настроить эти уведомления, перейдите в админке в WooCommerce > Настройки > Email. Здесь можно активировать или деактивировать письма, редактировать шаблоны и адрес отправителя.

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

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

Добавим в functions.php темы или в кастомный плагин следующий код, который будет отправлять письмо с подтверждением сразу после смены статуса заказа на «обработка» (processing):

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

    // Получаем объект уведомления WooCommerce
    $mailer = WC()->mailer();
    $mails = $mailer->get_emails();

    if (!empty($mails)) {
        foreach ($mails as $mail) {
            // Ищем уведомление Processing order
            if ($mail->id === 'customer_processing_order') {
                $mail->trigger($order_id);
            }
        }
    }
}
add_action('woocommerce_order_status_processing', 'wporders_send_order_confirmation_email', 10, 1);

Этот код вручную вызывает отправку email с уведомлением о том, что заказ находится в обработке. Аналогично можно использовать другие статусы, например, 'completed' для отправки после завершения заказа.

Как изменить шаблон письма для подтверждения заказа

Шаблоны email находятся в папке woocommerce/templates/emails/ плагина WooCommerce. Чтобы кастомизировать шаблон, скопируйте нужный файл (например, customer-processing-order.php) в папку вашей темы your-theme/woocommerce/emails/ и изменяйте его там. Это позволит сохранить изменения при обновлениях плагина.

Автоматизация с помощью плагинов

Если не хочется писать код, можно использовать специальные плагины, которые расширяют возможности email-уведомлений WooCommerce:

  • Clearfy Pro — позволяет оптимизировать отправку писем, управлять шаблонами и отключать лишние уведомления.
  • WPRemark — плагин для расширенного управления комментариями и отзывами, включая интеграцию с email-уведомлениями.

Эти плагины упрощают настройку и позволяют добавить дополнительные функции без программирования.

Отправка дополнительных данных в письме подтверждения

Иногда требуется добавить в письмо подтверждения кастомные поля заказа, например, номер доставки, промокод или особые пожелания покупателя. Для этого используйте фильтр woocommerce_email_order_meta_fields:

function wporders_add_custom_order_meta_to_email($fields, $sent_to_admin, $order) {
    $fields['custom_delivery_number'] = array(
        'label' => __('Номер доставки', 'woocommerce'),
        'value' => $order->get_meta('custom_delivery_number'),
    );
    return $fields;
}
add_filter('woocommerce_email_order_meta_fields', 'wporders_add_custom_order_meta_to_email', 10, 3);

В этом примере мы добавляем поле custom_delivery_number, которое хранится в мета данных заказа, в тело письма подтверждения. Для сохранения этого поля при оформлении заказа потребуется отдельный код, который можно добавить в форму оформления.

Как добавить поле в форму оформления заказа

Добавим поле «Номер доставки» в форму оформления заказа, чтобы пользователь мог указать его при заказе:

function wporders_add_custom_checkout_field($checkout) {
    echo '<div id="wporders_custom_checkout_field">';
    woocommerce_form_field('custom_delivery_number', array(
        'type'          => 'text',
        'class'         => array('form-row-wide'),
        'label'         => __('Номер доставки'),
        'placeholder'   => __('Введите номер доставки'),
        'required'      => false,
    ), $checkout->get_value('custom_delivery_number'));
    echo '</div>';
}
add_action('woocommerce_after_order_notes', 'wporders_add_custom_checkout_field');

function wporders_save_custom_checkout_field($order_id) {
    if (!empty($_POST['custom_delivery_number'])) {
        update_post_meta($order_id, 'custom_delivery_number', sanitize_text_field($_POST['custom_delivery_number']));
    }
}
add_action('woocommerce_checkout_update_order_meta', 'wporders_save_custom_checkout_field');

Таким образом, данные пользователя сохраняются в заказе и могут быть отправлены в email с помощью предыдущего фильтра.

Отправка подтверждения через SMTP для надежной доставки

Иногда письма с подтверждением не доходят до клиентов из-за проблем с почтовым сервером хостинга. Чтобы избежать этого, рекомендуется использовать SMTP-серверы. Для WordPress существует много плагинов, например:

После установки и настройки SMTP вы значительно повысите вероятность доставки писем с подтверждениями заказов.

Резюме и рекомендации по оптимизации

Автоматическая отправка подтверждения заказа — обязательный элемент качественного интернет-магазина. Для её реализации в WooCommerce достаточно использовать встроенные функции и хуки, а при необходимости — кастомизировать шаблоны и добавлять свои поля. Плагины из каталога WPSHOP помогут быстро расширить функционал и улучшить доставляемость писем.

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

Создание автоматических заказов в WordPress без WooCommerce
19.01.2026
Как сделать удобный фильтрованный список заказов в WordPress без WooCommerce
31.01.2026
Автоматическая отмена и возврат заказов в WooCommerce при проблемах с оплатой
22.04.2026
Интеграция WordPress с системой управления заказами 1С
27.12.2025
Автоматический запрос статуса заказа WooCommerce через AJAX
22.03.2026