Как создать автоматические уведомления о проблемах с WooCommerce

|

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

Почему важно настраивать автоматические уведомления в WooCommerce

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

Для реализации такой системы понадобятся базовые знания PHP и умение работать с хуками WooCommerce.

Использование хуков WooCommerce для отслеживания ошибок

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

Например, хук woocommerce_order_status_failed срабатывает, когда заказ переходит в статус "Неудачный".

Вот простой пример функции для отправки уведомлений по email при ошибке оплаты:

function wpbusiness_notify_order_failed($order_id) {
    $order = wc_get_order($order_id);
    $to = get_option('admin_email');
    $subject = 'Ошибка оплаты в магазине';
    $message = 'Заказ №' . $order_id . ' не был оплачен. Проверьте детали заказа: ' . $order->get_edit_order_url();
    wp_mail($to, $subject, $message);
}
add_action('woocommerce_order_status_failed', 'wpbusiness_notify_order_failed');

Этот код можно добавить в файл functions.php вашей темы или в собственный плагин.

Отправка уведомлений при ошибках оформления заказа

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

function wpbusiness_notify_checkout_problems($order_id, $posted_data, $order) {
    if ($order->has_status('pending')) {
        $to = get_option('admin_email');
        $subject = 'Внимание: заказ ожидает оплаты';
        $message = 'Заказ №' . $order_id . ' создан, но оплата не подтверждена. Проверьте платежные системы.';
        wp_mail($to, $subject, $message);
    }
}
add_action('woocommerce_checkout_order_processed', 'wpbusiness_notify_checkout_problems', 10, 3);

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

Использование плагинов для расширенного мониторинга WooCommerce

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

Эти плагины можно настроить так, чтобы получать уведомления и отчеты по email или через Telegram/Slack.

Логирование ошибок и уведомления по email через wp_mail

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

function wpbusiness_log_and_notify_error($error_message) {
    $log_file = WP_CONTENT_DIR . '/woocommerce_error_log.txt';
    $time = date('Y-m-d H:i:s');
    $message = "[$time] ERROR: $error_message\n";
    file_put_contents($log_file, $message, FILE_APPEND);

    $to = get_option('admin_email');
    $subject = 'Ошибка в WooCommerce';
    wp_mail($to, $subject, $message);
}

// Пример вызова функции при ошибке
add_action('woocommerce_payment_failed', function($order_id) {
    wpbusiness_log_and_notify_error('Ошибка оплаты для заказа №' . $order_id);
});

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

Автоматизация уведомлений с помощью WP-Cron

Иногда полезно настроить периодическую проверку состояния заказов и отправку сводных отчетов. Для этого можно использовать WP-Cron — встроенный планировщик задач WordPress.

Пример простой задачи, которая проверяет заказы со статусом "Ожидает оплаты" и отправляет список администратору:

function wpbusiness_check_pending_orders() {
    $args = [
        'status' => 'pending',
        'limit' => -1,
    ];
    $orders = wc_get_orders($args);
    if (!empty($orders)) {
        $message = 'Список заказов, ожидающих оплату:\n';
        foreach ($orders as $order) {
            $message .= 'Заказ №' . $order->get_id() . ', сумма: ' . $order->get_total() . '\n';
        }
        wp_mail(get_option('admin_email'), 'Отчет по неоплаченным заказам', $message);
    }
}

if (!wp_next_scheduled('wpbusiness_daily_pending_check')) {
    wp_schedule_event(time(), 'daily', 'wpbusiness_daily_pending_check');
}
add_action('wpbusiness_daily_pending_check', 'wpbusiness_check_pending_orders');

Это позволяет регулярно контролировать состояние магазина без вашего вмешательства.

Выводы и рекомендации

Автоматические уведомления о проблемах WooCommerce — важный инструмент для поддержания стабильной работы интернет-магазина. Используйте хуки WooCommerce, функции WordPress для отправки почты, а также планировщик WP-Cron для создания надежной системы оповещений.

Для расширенных возможностей обратите внимание на плагины с поддержкой мониторинга и автоматизации, например, Clearfy Pro.

Подключайте код в виде плагина или в functions.php темы, тестируйте на тестовом окружении и постепенно внедряйте на рабочем сайте.

Как использовать REST API в WordPress для бизнес-проектов: примеры и подробное руководство
03.12.2025
Как удалить старые ревизии записей в WordPress для оптимизации базы данных
16.02.2026
Как сделать автоматический импорт данных из Google Sheets в WordPress с примерами кода
19.03.2026
Как отключить автообновление плагинов WordPress без риска для безопасности
14.06.2026
Автоматическое обновление метаданных для SEO в WordPress: практические решения
01.03.2026
×
Сделай свой сайт крутым!

Скидка -20% на премиум плагины WordPress

Выбрать плагин сейчас ⋙