wpconsult.ru wordpress WP Consult

Автоматический экспорт товаров из WooCommerce в Excel с помощью WPConsult

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

Почему важен автоматический экспорт товаров из WooCommerce в Excel

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

  • Сэкономить время на рутинных операциях;
  • Обеспечить актуальность данных;
  • Интегрировать экспорт с другими бизнес-процессами (например, отправка по почте, загрузка в CRM);
  • Использовать данные для аналитики и отчетности.

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

Использование PHP для автоматического экспорта товаров WooCommerce в Excel

Для создания файла Excel мы будем использовать библиотеку PhpSpreadsheet, которая позволяет создавать файлы Excel из PHP.

Пример кода для экспорта товаров:

function wpconsult_export_woocommerce_products_to_excel() {
    if (!class_exists('\PhpOffice\PhpSpreadsheet\Spreadsheet')) {
        return; // Библиотека PhpSpreadsheet не подключена
    }

    $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
    $sheet = $spreadsheet->getActiveSheet();

    // Заголовки столбцов
    $sheet->setCellValue('A1', 'ID');
    $sheet->setCellValue('B1', 'Название');
    $sheet->setCellValue('C1', 'Цена');
    $sheet->setCellValue('D1', 'Категории');
    $sheet->setCellValue('E1', 'Артикул');

    $args = [
        'post_type' => 'product',
        'posts_per_page' => -1,
        'post_status' => 'publish'
    ];
    $query = new WP_Query($args);
    $row = 2;

    while ($query->have_posts()) {
        $query->the_post();
        $product = wc_get_product(get_the_ID());

        $categories = wp_get_post_terms($product->get_id(), 'product_cat', ['fields' => 'names']);
        $categories_list = implode(', ', $categories);

        $sheet->setCellValue('A'.$row, $product->get_id());
        $sheet->setCellValue('B'.$row, $product->get_name());
        $sheet->setCellValue('C'.$row, $product->get_price());
        $sheet->setCellValue('D'.$row, $categories_list);
        $sheet->setCellValue('E'.$row, $product->get_sku());

        $row++;
    }
    wp_reset_postdata();

    $writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
    $file_path = wp_upload_dir()['basedir'] . '/export-woocommerce-products.xlsx';
    $writer->save($file_path);

    return $file_path;
}

Этот код создает файл Excel с основными данными продуктов и сохраняет его в папку загрузок WordPress. Можно запускать функцию по крону или вручную для обновления файла.

Автоматический запуск экспорта по расписанию с WP-Cron

Чтобы экспорт происходил регулярно, добавим задачу в WP-Cron:

function wpconsult_schedule_products_export() {
    if (!wp_next_scheduled('wpconsult_export_products_event')) {
        wp_schedule_event(time(), 'daily', 'wpconsult_export_products_event');
    }
}
add_action('wp', 'wpconsult_schedule_products_export');

add_action('wpconsult_export_products_event', 'wpconsult_export_woocommerce_products_to_excel');

Теперь каждый день будет автоматически генерироваться актуальный Excel-файл с товарами.

Плагины для экспорта товаров WooCommerce в Excel и CSV

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

  • WooCommerce Customer/Order/Coupon Export — плагин с расширенными возможностями экспорта, включая товары;
    Подробнее на WPSHOP.RU
  • Product Import Export for WooCommerce — позволяет экспортировать и импортировать товары в CSV/Excel;
    Подробнее на WPSHOP.RU
  • WP All Export — мощный универсальный экспорт данных с возможностью настройки полей и форматов;
    Подробнее на WPSHOP.RU

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

Особенности выбора плагина

При выборе учитывайте:

  • Нужный формат (Excel, CSV, XML);
  • Возможность автоматического экспорта и выгрузки по расписанию;
  • Поддержку нужных полей (артикул, категории, цены, атрибуты);
  • Совместимость с вашей версией WooCommerce и WordPress.

Пример интеграции экспорта с отправкой файла на email

Часто требуется не просто создать файл, а сразу отправить его по почте. Добавим к функции отправку письма с вложением:

function wpconsult_export_and_email_products() {
    $file_path = wpconsult_export_woocommerce_products_to_excel();
    if (!$file_path) {
        return;
    }

    $to = 'manager@example.com';
    $subject = 'Экспорт товаров WooCommerce';
    $body = 'Во вложении актуальный список товаров в формате Excel.';
    $headers = ['Content-Type: text/html; charset=UTF-8'];
    $attachments = [$file_path];

    wp_mail($to, $subject, $body, $headers, $attachments);
}

add_action('wpconsult_export_products_event', 'wpconsult_export_and_email_products', 20);

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

Оптимизация и масштабирование экспорта

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

  • Выбирайте пакетную обработку товаров (например, по 100 штук за запрос);
  • Используйте transient или опцию для хранения результата экспорта и обновляйте не чаще чем нужно;
  • Запускайте экспорт в ночное время или через WP-CLI для минимальной нагрузки;
  • Кэшируйте категории и атрибуты, чтобы не делать лишних запросов.

Так вы избежите проблем с тайм-аутами и нагрузкой на сервер.

Пример пакетной обработки товаров

function wpconsult_export_products_batch($offset = 0, $limit = 100) {
    $args = [
        'post_type' => 'product',
        'posts_per_page' => $limit,
        'offset' => $offset,
        'post_status' => 'publish'
    ];
    $query = new WP_Query($args);

    // Обработка товаров как в примере выше

    wp_reset_postdata();

    return $query->found_posts;
}

Вызывайте функцию циклом с увеличением $offset пока не обработаете все товары.

Выводы

Автоматический экспорт товаров из WooCommerce в Excel — распространенная и полезная задача для магазинов на WordPress. Используя библиотеку PhpSpreadsheet и WP-Cron, можно создать надежное решение без дополнительных плагинов. Для быстрого старта подойдут плагины из экосистемы WooCommerce, доступные на WPSHOP.RU.

Реализуйте экспорт с учетом объема товаров и требований к автоматизации, и ваш бизнес получит удобный инструмент для работы с товарными данными.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее