Как создать автоматический импорт продуктов в WooCommerce из CSV файла

|

Для бизнес-сайтов на WordPress с WooCommerce часто возникает задача регулярного обновления каталога товаров из внешних источников. Особенно удобно, когда импорт происходит автоматически, без участия администратора. В этой статье мы подробно разберем, как создать автоматический импорт продуктов в WooCommerce из CSV файла, используя как готовые плагины, так и собственные решения с кодом.

Почему автоматический импорт продуктов важен для интернет-магазина на WooCommerce

Ручное добавление и обновление товаров при большом каталоге занимает много времени и подвержено ошибкам. Автоматический импорт позволяет:

Для бизнес-сайтов это ключевой момент повышения эффективности и масштабируемости.

Обзор популярных плагинов для импорта CSV товаров в WooCommerce

Среди множества плагинов выделим самые функциональные и проверенные для автоматизации импорта:

1. WP All Import + WooCommerce Add-On

Очень мощный и гибкий инструмент с поддержкой любых CSV и XML файлов. Позволяет создавать сложные правила импорта, обновлять товары и категории, работать с вариациями.

Плюсы:

Минусы — платный, но для бизнеса оправдан.

2. Product CSV Import Suite от WooCommerce

Официальный плагин WooCommerce для импорта и экспорта товаров. Поддерживает вариации, сложные типы продуктов и атрибуты.

Плюсы:

Минусы — отсутствие встроенного cron, требует дополнительной настройки автоматизации.

3. Бесплатные решения: WP Ultimate CSV Importer

Поддерживает массовый импорт товаров и других типов записей, есть базовые возможности автоматизации через WP-CRON.

Плюсы:

Минусы — интерфейс может быть сложным для новичков.

Как настроить автоматический импорт из CSV с помощью WP All Import и cron

Самый надежный путь — использовать WP All Import с cron для автоматического запуска задачи по расписанию. Рассмотрим настройку на примере.

Настройка импорта

  1. Установите и активируйте плагины WP All Import и WooCommerce Add-On.
  2. Создайте новый импорт и загрузите CSV файл с товарами.
  3. Свяжите столбцы CSV с полями товаров WooCommerce (название, описание, цена, артикул, изображения и т.д.).
  4. Сохраните настройки и выполните тестовый импорт.

Настройка автоматического запуска cron

WP All Import поддерживает запуск импорта через WP-CRON или системный cron. Для надежности рекомендуется использовать системный cron.

Пример команды для системного cron (Linux):

wget -q -O - 'https://your-site.ru/wp-cron.php?import_key=YOUR_IMPORT_KEY&import_id=YOUR_IMPORT_ID&action=trigger' >/dev/null 2>&1

Где YOUR_IMPORT_KEY и YOUR_IMPORT_ID нужно взять из настроек импорта в WP All Import.

Добавьте эту команду в crontab, например, для ежедневного запуска:

0 2 * * * wget -q -O - 'https://your-site.ru/wp-cron.php?import_key=YOUR_IMPORT_KEY&import_id=YOUR_IMPORT_ID&action=trigger' >/dev/null 2>&1

Пример кода для простого импорта CSV без плагинов

Если вы хотите сделать импортер самостоятельно, можно написать функцию, которая будет читать CSV и создавать/обновлять продукты через WooCommerce API.

Пример функции wpbusiness_import_products_from_csv:

function wpbusiness_import_products_from_csv($file_path) {
    if (!file_exists($file_path)) {
        return new WP_Error('file_not_found', 'CSV файл не найден');
    }
    
    if (($handle = fopen($file_path, 'r')) === false) {
        return new WP_Error('file_open_error', 'Не удалось открыть CSV файл');
    }

    $header = fgetcsv($handle, 0, ',');
    if (!$header) {
        return new WP_Error('csv_error', 'Пустой или неверный CSV');
    }

    while (($row = fgetcsv($handle, 0, ',')) !== false) {
        $data = array_combine($header, $row);
        if (!$data) continue;

        $product_id = wc_get_product_id_by_sku($data['sku']);

        if ($product_id) {
            $product = wc_get_product($product_id);
        } else {
            $product = new WC_Product_Simple();
        }

        $product->set_name($data['name']);
        $product->set_regular_price($data['price']);
        $product->set_sku($data['sku']);
        $product->set_description($data['description']);
        $product->save();
    }

    fclose($handle);
    return true;
}

Такую функцию можно запускать через WP-CRON или по расписанию сервера.

Рекомендации по организации CSV для импорта продуктов

Для корректной работы важно правильно подготовить CSV файл. Основные рекомендации:

Как использовать WPRemark для автоматизации обработки форм импорта

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

WPRemark позволяет создавать собственные обработчики форм с вызовом кастомного PHP кода. Вы можете связать форму загрузки с функцией импорта CSV, описанной выше, чтобы процесс был полностью автоматическим.

Заключение по автоматизации импорта продуктов в WooCommerce

Автоматический импорт товаров из CSV — важный элемент эффективного управления интернет-магазином на WooCommerce. Выбор между готовым мощным плагином и собственной разработкой зависит от бюджета и специфики проекта. Используйте WP All Import для сложных кейсов или пишите свои функции для простых задач. Не забывайте про надежность запуска cron-задач и правильное оформление CSV файлов для успешного импорта.

Как автоматизировать удаление старых черновиков в WordPress: практическое руководство с примерами кода
19.03.2026
Автоматическое создание менеджера проектов в WordPress: практическое руководство с кодом
26.03.2026
Оптимизация кода и загрузки в WordPress для бизнес-сайтов
09.11.2025
Автоматическое отключение неиспользуемых плагинов WordPress по расписанию
04.06.2026
Как автоматизировать управление ролями в WordPress с примерами кода
18.12.2025
×
Сделай свой сайт крутым!

Скидка -20% на премиум плагины WordPress

Выбрать плагин сейчас ⋙