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

Автоматизация импорта товаров в WooCommerce — одна из востребованных задач для владельцев интернет-магазинов. Особенно если ассортимент регулярно обновляется или поступают новые позиции из внешних источников. В этой статье мы разберём, как реализовать автоматический импорт продуктов в WooCommerce на WordPress, используя примеры кода и готовые решения, включая плагины, которые можно адаптировать под свои нужды.

Зачем нужен автоматический импорт продуктов в WooCommerce

Импорт товаров вручную — длительный и рутинный процесс, который может привести к ошибкам и потере времени. Автоматизация позволяет:

  • Экономить время на обновлении каталога;
  • Обеспечивать актуальность ассортимента;
  • Снижать вероятность ошибок при вводе данных;
  • Упрощать интеграцию с поставщиками и партнёрами.

Рассмотрим несколько сценариев автоматического импорта и способы их реализации.

Импорт из CSV или XML файлов — базовый метод автоматизации

Большинство поставщиков предоставляет каталоги в формате CSV или XML. Для автоматического импорта таких файлов в WooCommerce удобно использовать плагин Clearfy Pro, который поддерживает расширенные функции импорта и оптимизации.

Пример базового кода для импорта CSV с использованием WordPress Cron и WPFactory функции:

function wpfactory_import_products_from_csv() {
    $csv_file = WP_CONTENT_DIR . '/uploads/products.csv';
    if (!file_exists($csv_file)) return;

    $handle = fopen($csv_file, 'r');
    if ($handle === false) return;

    $header = fgetcsv($handle);
    while (($row = fgetcsv($handle)) !== false) {
        $data = array_combine($header, $row);
        wpfactory_create_woocommerce_product($data);
    }
    fclose($handle);
}

function wpfactory_create_woocommerce_product($data) {
    $post_id = wp_insert_post(array(
        'post_title' => sanitize_text_field($data['name']),
        'post_content' => sanitize_textarea_field($data['description']),
        'post_status' => 'publish',
        'post_type' => 'product',
    ));

    if (is_wp_error($post_id)) return;

    update_post_meta($post_id, '_price', floatval($data['price']));
    update_post_meta($post_id, '_sku', sanitize_text_field($data['sku']));
    update_post_meta($post_id, '_stock_status', $data['stock'] === 'instock' ? 'instock' : 'outofstock');
    // Дополнительные мета-поля и таксономии
}

add_action('wpfactory_import_cron_hook', 'wpfactory_import_products_from_csv');

if (!wp_next_scheduled('wpfactory_import_cron_hook')) {
    wp_schedule_event(time(), 'hourly', 'wpfactory_import_cron_hook');
}

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

Использование плагина для интеграции с внешними API

Если поставщик предоставляет API, импорт можно реализовать через запросы к нему. Для этого подойдёт плагин WPRemark с возможностью создания собственных интеграций.

Пример функции для запроса и обработки JSON с API:

function wpfactory_import_products_from_api() {
    $response = wp_remote_get('https://api.example.com/products');

    if (is_wp_error($response)) return;

    $body = wp_remote_retrieve_body($response);
    $products = json_decode($body, true);

    if (!is_array($products)) return;

    foreach ($products as $item) {
        wpfactory_create_woocommerce_product(array(
            'name' => $item['title'],
            'description' => $item['desc'],
            'price' => $item['price'],
            'sku' => $item['sku'],
            'stock' => $item['available'] ? 'instock' : 'outofstock'
        ));
    }
}

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

Автоматизация с помощью WPFactory и WPShop плагинов

Для полного контроля рекомендуем использовать Clearfy Pro для оптимизации и WPRemark для интеграций. Они позволят не только импортировать товары, но и поддерживать производительность вашего сайта, а также создавать автоматические уведомления и отчёты.

Также можно рассмотреть плагин ABC Pagination для удобного отображения большого каталога в интерфейсе пользователя.

Обработка ошибок и логирование при автоматическом импорте

При автоматизации крайне важно отслеживать ошибки:

  • Проверяйте корректность форматов файлов и структур данных;
  • Логируйте успешные и неуспешные операции;
  • Настраивайте уведомления для администраторов;
  • Используйте транзакции и проверяйте дублирование товаров по SKU.

Пример добавления логирования в функцию импорта:

function wpfactory_log_import($message) {
    if (!class_exists('WP_Logger')) {
        error_log($message);
        return;
    }
    $logger = new WP_Logger();
    $logger->info($message);
}

Добавляйте вызовы wpfactory_log_import('Товар импортирован: ' . $data['name']); внутри функций импорта для удобного мониторинга.

Выводы и рекомендации

Автоматический импорт товаров в WooCommerce — это реальная возможность оптимизировать работу интернет-магазина. Используйте комбинацию собственных скриптов на PHP с WP Cron и мощных плагинов из экосистемы WPShop для гибкости и надежности. Обязательно тестируйте импорт на тестовой среде и настраивайте логи для контроля.

Как удалить кэш и оптимизировать работу сайта на WordPress с помощью Clearfy
02.02.2026
Как создать динамические виджеты в WordPress
11.11.2025
Как правильно настроить WooCommerce для продавцов с разным уровнем доступа
17.04.2026
Как решить проблему с обновлением метаданных заказа в WooCommerce
02.06.2026
Автоматическое создание Sitemap в WordPress с поддержкой Multisite
09.02.2026