Для многих сайтов на WordPress важна возможность регулярно экспортировать данные, будь то заказы, пользователи, записи или кастомные типы записей. Особенно востребован автоматический экспорт данных в формат Excel, который удобен для анализа, отчетности и работы с таблицами. В этой статье разберём, как на практике реализовать автоматический экспорт данных из WordPress в Excel с помощью плагинов и собственного кода.
Почему важен автоматический экспорт данных в Excel из WordPress
Ручной экспорт через админ-панель часто неудобен и занимает много времени, особенно если данные обновляются регулярно. Автоматизация позволяет настроить периодическую выгрузку, например, ежедневно или еженедельно, и получать готовые файлы Excel с актуальной информацией на email или хранить их на сервере.
Кроме того, Excel — универсальный формат, который поддерживают практически все офисные программы и BI-системы, что делает его идеальным для интеграции и анализа.
Использование плагинов для автоматического экспорта в Excel
Плагин WP All Export
Один из самых мощных инструментов для экспорта любых данных из WordPress в разные форматы, включая Excel (XLS, XLSX). Позволяет гибко настраивать, какие поля экспортировать, и создавать расписание автоматической выгрузки.
- Поддержка кастомных типов записей и пользовательских полей.
- Интеграция с WooCommerce, что позволяет автоматически экспортировать заказы, клиентов, товары.
- Возможность отправлять файлы по email или сохранять на сервер.
Для установки и настройки достаточно перейти в WP All Export на WPSHOP.
Плагин Advanced Order Export For WooCommerce
Если вам нужно экспортировать именно заказы из WooCommerce, этот плагин отлично подойдет. Он позволяет создавать шаблоны экспорта и запускать их по расписанию.
Поддерживает форматы CSV и XLSX, а также удобные фильтры и сортировку.
Реализация автоматического экспорта в Excel с помощью кода
Иногда нужен более гибкий или узконаправленный экспорт, который не поддерживает плагин. Ниже разберём пример создания собственного решения на PHP с использованием библиотеки PhpSpreadsheet для экспорта пользователей WordPress.
Установка PhpSpreadsheet
Для начала нужно установить библиотеку через Composer. Если на вашем хостинге нет Composer, можно скачать и подключить вручную.
composer require phpoffice/phpspreadsheet
Пример функции для экспорта пользователей в Excel
function wpkurs_export_users_to_excel() {
if (!class_exists('PhpOffice\PhpSpreadsheet\Spreadsheet')) {
return;
}
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
// Заголовки столбцов
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', 'Логин');
$sheet->setCellValue('C1', 'Email');
$sheet->setCellValue('D1', 'Дата регистрации');
$args = [
'role__in' => ['subscriber', 'customer', 'administrator'],
'orderby' => 'ID',
'order' => 'ASC',
'number' => -1
];
$users = get_users($args);
$row = 2;
foreach ($users as $user) {
$sheet->setCellValue('A' . $row, $user->ID);
$sheet->setCellValue('B' . $row, $user->user_login);
$sheet->setCellValue('C' . $row, $user->user_email);
$sheet->setCellValue('D' . $row, $user->user_registered);
$row++;
}
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$upload_dir = wp_upload_dir();
$file_path = $upload_dir['basedir'] . '/wpkurs-users-export.xlsx';
$writer->save($file_path);
return $file_path;
}
Автоматизация экспорта с помощью WP-Cron
Чтобы запускать экспорт, например, раз в сутки, можно использовать WP-Cron. Добавим задачу в расписание и хук для вызова функции.
function wpkurs_schedule_export() {
if (!wp_next_scheduled('wpkurs_daily_export_hook')) {
wp_schedule_event(time(), 'daily', 'wpkurs_daily_export_hook');
}
}
add_action('wp', 'wpkurs_schedule_export');
add_action('wpkurs_daily_export_hook', 'wpkurs_handle_daily_export');
function wpkurs_handle_daily_export() {
$file = wpkurs_export_users_to_excel();
if ($file) {
// Отправим файл на email администратору
wp_mail(get_option('admin_email'), 'Ежедневный экспорт пользователей', 'Файл с экспортом во вложении.', [], [$file]);
}
}
Как проверить и отладить автоматический экспорт
Особенно важно убедиться, что WP-Cron работает корректно, так как на некоторых хостингах задачи не запускаются без посещения сайта. Для отладки используйте плагин WP Crontrol, который позволяет управлять и запускать задачи вручную.
Также в логах сервера или с помощью плагинов для логирования ошибок можно проверить, нет ли сбоев при выполнении экспорта.
Примеры расширения функционала
Экспорт кастомных полей и метаданных
Для вывода кастомных полей достаточно дополнить выборку данных и добавить новые столбцы в Excel. Например, для пользователей можно добавить номер телефона, сохранённый в user meta:
$phone = get_user_meta($user->ID, 'phone_number', true);
$sheet->setCellValue('E' . $row, $phone);
Интеграция с плагином Clearfy Pro для оптимизации
Если вы используете плагин Clearfy Pro, он может помочь отключить лишние скрипты и повысить производительность сайта, что особенно актуально при больших объемах данных при экспорте.
Использование WP Remark для импорта/экспорта данных
Для проектов, где важен двунаправленный обмен данными, можно рассмотреть плагин WP Remark, который позволяет настраивать сложные сценарии импорта и экспорта, расширяя возможности автоматизации.