В современных интернет-магазинах на базе WordPress и WooCommerce важным элементом управления бизнесом является оперативное получение отчетов по заказам. В этой статье рассмотрим, как создать автоматизированную систему экспресс-отчетов, которая позволит вам ежедневно или по заданному расписанию получать сводную информацию по заказам на электронную почту или в мессенджеры. Это поможет быстро анализировать продажи и принимать решения без необходимости заходить в админку.
Почему нужны экспресс-отчеты по заказам в WordPress
Ручная проверка заказов и генерация отчетов в WooCommerce через админку занимает время и не всегда удобна для менеджеров. Автоматизация такой задачи:
- Экономит время и исключает человеческий фактор.
- Позволяет получать актуальную сводку в начале дня или по нужному расписанию.
- Улучшает контроль за состоянием заказов — например, количество новых, ожидающих оплаты, выполненных и отмененных.
- Позволяет передавать отчеты напрямую руководству или в CRM через email или API.
Для реализации этого можно использовать собственный PHP-код с хуками WordPress и WooCommerce, а также специальные плагины для автоматизации.
Автоматическое создание экспресс-отчета по заказам: пример кода
Рассмотрим пример функции, которая собирает статистику по заказам за вчерашний день и формирует текст отчета. Затем с помощью WP Cron она будет отправляться на email.
function wporder_generate_daily_orders_report() {
$yesterday = strtotime('yesterday midnight');
$today = strtotime('today midnight');
$args = [
'limit' => -1,
'status' => ['completed', 'processing', 'cancelled'],
'date_created' => $yesterday . '...' . $today,
];
$orders = wc_get_orders($args);
$counts = [
'completed' => 0,
'processing' => 0,
'cancelled' => 0,
];
$total_sum = 0;
foreach ($orders as $order) {
$status = $order->get_status();
if (isset($counts[$status])) {
$counts[$status]++;
}
$total_sum += $order->get_total();
}
$report = "Отчет по заказам за " . date('d.m.Y', $yesterday) . ":\n";
$report .= "Выполнено: " . $counts['completed'] . "\n";
$report .= "В обработке: " . $counts['processing'] . "\n";
$report .= "Отменено: " . $counts['cancelled'] . "\n";
$report .= "Общая сумма: " . wc_price($total_sum) . "\n";
return $report;
}
function wporder_send_daily_orders_report() {
$to = get_option('admin_email');
$subject = 'Экспресс-отчет по заказам за вчера';
$message = wporder_generate_daily_orders_report();
wp_mail($to, $subject, $message);
}
// Планируем ежедневную отправку в 8 утра
if (!wp_next_scheduled('wporder_daily_report_event')) {
wp_schedule_event(strtotime('08:00:00'), 'daily', 'wporder_daily_report_event');
}
add_action('wporder_daily_report_event', 'wporder_send_daily_orders_report');В этом коде функция wporder_generate_daily_orders_report() собирает статистику по статусам заказов и общей сумме. Функция wporder_send_daily_orders_report() отправляет письмо с отчетом. С помощью WP Cron мы планируем ежедневное выполнение задачи в 8:00 утра.
Расширение отчета: добавляем подробности и фильтры
Для большего удобства можно добавить в отчет:
- Подробный список заказов с номерами, датами и суммами.
- Фильтрацию по статусам, категориям товаров, методам оплаты.
- Включение информации о клиентах или регионах.
Например, добавим вывод списка заказов в отчете:
function wporder_generate_detailed_report() {
$yesterday = strtotime('yesterday midnight');
$today = strtotime('today midnight');
$args = [
'limit' => 10, // последние 10 заказов
'status' => ['completed', 'processing'],
'date_created' => $yesterday . '...' . $today,
'orderby' => 'date',
'order' => 'DESC',
];
$orders = wc_get_orders($args);
$report = "Подробный список заказов за " . date('d.m.Y', $yesterday) . ":\n";
foreach ($orders as $order) {
$report .= sprintf("№%d | Статус: %s | Сумма: %s | Клиент: %s\n",
$order->get_id(),
$order->get_status(),
wc_price($order->get_total()),
$order->get_billing_first_name() . ' ' . $order->get_billing_last_name()
);
}
return $report;
}Такой отчет позволит быстро увидеть ключевые параметры заказов.
Плагины для автоматизации отчетов и уведомлений
Если вы предпочитаете не писать код, можно использовать готовые решения:
- Clearfy Pro — плагин для оптимизации и автоматизации WooCommerce, включая расширенные отчеты и уведомления.
- WPRemark — инструмент для создания кастомных отчетов и интеграции с внешними сервисами.
- Expert Review — плагин для сбора и анализа отзывов, который можно интегрировать с заказами для расширенной аналитики.
Эти инструменты позволяют гибко настраивать автоматические отчеты без глубоких знаний кода.
Отправка отчетов в мессенджеры и другие каналы
Помимо email, удобно отправлять экспресс-отчеты в Telegram, Slack или другие мессенджеры для мгновенного уведомления команды.
Для интеграции с Telegram можно использовать API бота и следующий пример функции отправки сообщения:
function wporder_send_telegram_report($chat_id, $token, $message) {
$url = 'https://api.telegram.org/bot' . $token . '/sendMessage';
$data = [
'chat_id' => $chat_id,
'text' => $message,
'parse_mode' => 'HTML',
];
$args = [
'body' => $data,
'timeout' => 15,
];
wp_remote_post($url, $args);
}Вы можете вызвать эту функцию из вашего плана WP Cron, отправляя сформированный отчет в нужный чат.
Советы по оптимизации и безопасности автоматических отчетов
При автоматизации отчетов важно учитывать:
- Не отправляйте слишком большие объемы данных — делайте сводки и фильтры.
- Используйте защищенные каналы и проверяйте права доступа.
- Логируйте ошибки отправки и настройте уведомления о сбоях.
- Регулярно обновляйте и тестируйте код и плагины.
Правильный подход обеспечит стабильную работу и поможет избежать утечки данных.
Заключение
Автоматическое создание и отправка экспресс-отчетов по заказам — важный инструмент для эффективного управления WooCommerce-магазином на WordPress. Реализуя это с помощью кода или готовых плагинов, вы значительно повысите скорость принятия решений и контроля бизнеса.
Для удобства можно комбинировать примеры кода с плагинами Clearfy Pro или WPRemark для расширения функционала и интеграций.