Как создать автоматический экспорт данных из WordPress в Excel

Для многих сайтов на 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, который позволяет настраивать сложные сценарии импорта и экспорта, расширяя возможности автоматизации.

Как избежать ошибки 502 Bad Gateway в WordPress при работе с WooCommerce
07.09.2026
Как закрыть дубли архивов таксономий и авторов в WordPress без потери индексации
29.08.2026
Как удалить и заблокировать неактивных пользователей WordPress
26.09.2026
Автоматическое создание резервных копий WordPress: лучшие методы и примеры
10.09.2026
Как закрыть старые версии страниц WordPress от индексации без потери нужных URL
14.09.2026

Как работать с WordPress: основы работы с движком, обзор встроенных функций, советы по созданию и редактированию контента.