Ведение учета заказов — ключевой аспект управления интернет-магазином на WooCommerce. Ручной экспорт заказов в Excel занимает время и может привести к ошибкам. В этой статье разберем, как настроить автоматический экспорт заказов WooCommerce в Excel с помощью готовых плагинов и кастомных решений на PHP.
Почему важен автоматический экспорт заказов
Экспорт заказов в Excel нужен для анализа продаж, бухгалтерии, передачи данных в CRM и другие бизнес-процессы. Автоматизация избавляет от рутинной работы, снижает риск забыть выгрузить данные и увеличивает скорость обработки заказов.
Кроме того, можно настроить регулярные выгрузки по расписанию, что удобно для командной работы и интеграций.
Популярные плагины для экспорта заказов WooCommerce в Excel
Существует несколько проверенных плагинов, которые позволяют быстро настроить экспорт заказов:
- WooCommerce Customer / Order CSV Export — плагин от WooCommerce, который поддерживает экспорт заказов в CSV и XLSX с гибкими настройками фильтров и расписания.
- WP All Export — универсальный инструмент для экспорта любых данных из WordPress, в том числе заказов WooCommerce, с возможностью создавать собственные шаблоны Excel.
- Order Export & Order Import for WooCommerce — бесплатный плагин с поддержкой экспорта заказов в Excel, CSV и XML, включая фильтрацию по статусу и дате.
Эти решения легко интегрируются и позволяют выполнять автоматический экспорт заказов по расписанию.
Настройка плагина WooCommerce Customer / Order CSV Export
После установки и активации перейдите в WooCommerce → CSV Export и настройте экспорт:
- Выберите, что экспортировать: заказы, клиенты или купоны.
- Настройте поля для экспорта: номер заказа, дата, имя клиента, сумма и другие.
- Задайте расписание для автоматического экспорта: ежедневно, еженедельно и т.д.
- Выберите формат файла: CSV или XLSX.
После сохранения настроек вы получите автоматические отчеты на электронную почту или сможете скачать их из админ-панели.
Кастомный пример автоматического экспорта заказов в Excel через код
Если хотите гибко управлять экспортом или интегрировать с внутренними системами, можно написать собственный код на PHP. Ниже пример функции, которая экспортирует все заказы за последний день в CSV и сохраняет файл в папку uploads с префиксом wpdesk_export.
function wpdesk_export_orders_to_csv() {
if ( ! class_exists('WooCommerce') ) return;
$filename = wp_upload_dir()['basedir'] . '/wpdesk_export_orders_' . date('Y-m-d') . '.csv';
$fp = fopen($filename, 'w');
// Заголовки CSV
$headers = ['Order ID', 'Date', 'Customer Name', 'Email', 'Total', 'Status'];
fputcsv($fp, $headers);
// Получаем заказы за последние 24 часа
$args = [
'limit' => -1,
'status' => ['completed', 'processing'],
'date_created' => '>' . ( time() - DAY_IN_SECONDS ),
];
$orders = wc_get_orders($args);
foreach ( $orders as $order ) {
$data = [
$order->get_id(),
$order->get_date_created()->date('Y-m-d H:i:s'),
$order->get_billing_first_name() . ' ' . $order->get_billing_last_name(),
$order->get_billing_email(),
$order->get_total(),
$order->get_status(),
];
fputcsv($fp, $data);
}
fclose($fp);
return $filename;
}Чтобы запускать эту функцию автоматически, добавим хук wp_cron:
function wpdesk_schedule_order_export() {
if ( ! wp_next_scheduled( 'wpdesk_daily_order_export_event' ) ) {
wp_schedule_event( time(), 'daily', 'wpdesk_daily_order_export_event' );
}
}
add_action( 'wp', 'wpdesk_schedule_order_export' );
add_action( 'wpdesk_daily_order_export_event', 'wpdesk_export_orders_to_csv' );Этот код создаст ежедневное задание, которое будет формировать CSV-файл с заказами. Файл сохраняется на сервере в папке uploads, откуда его можно скачать или отправить по почте.
Отправка экспортированного файла на email
Чтобы файл с заказами приходил на почту автоматически, добавим отправку письма после экспорта:
function wpdesk_send_exported_csv() {
$file = wpdesk_export_orders_to_csv();
if ( ! file_exists($file) ) return;
$to = get_option('admin_email');
$subject = 'Ежедневный экспорт заказов WooCommerce';
$body = 'Во вложении файл с заказами за последние 24 часа.';
$headers = [];
$attachments = [$file];
wp_mail( $to, $subject, $body, $headers, $attachments );
}
add_action( 'wpdesk_daily_order_export_event', 'wpdesk_send_exported_csv', 20 );Теперь после создания файла он будет отправлен администратору сайта. Можно менять адрес и формат письма по необходимости.
Дополнительные советы по автоматизации экспорта заказов
1. Фильтрация по статусам — экспортируйте только нужные заказы, например, только завершённые или только новые.
2. Добавление пользовательских полей — если у вас есть кастомные метаполя в заказах, добавьте их в CSV для расширенного анализа.
3. Использование формата XLSX — для более удобной работы с Excel можно использовать библиотеки PHPExcel или PhpSpreadsheet, которые позволяют создавать полноценные XLSX-файлы с форматированием.
4. Интеграция с плагинами WPShop — если вы используете, например, Clearfy Pro, можно дополнительно оптимизировать работу сайта и повысить стабильность автоматизации.
Выводы
Автоматический экспорт заказов WooCommerce в Excel значительно упрощает работу с данными и позволяет интегрировать магазин с внешними сервисами. Для большинства задач достаточно использовать готовые плагины, но при необходимости можно реализовать кастомное решение с помощью PHP и WP Cron. Важно правильно определить требования к экспорту и учитывать особенности вашего бизнеса для выбора оптимального подхода.