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

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

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

Если вы ведёте интернет-магазин или каталог товаров, то постоянное обновление ассортимента вручную занимает много времени и подвержено ошибкам. Автоматизация позволяет:

  • Обновлять цены и наличие товаров по расписанию;
  • Добавлять новые товары без вмешательства администратора;
  • Сохранять актуальность каталога и улучшать опыт пользователей;
  • Избежать дублирования и ошибок в данных.

Для этого подходят как готовые решения — плагины, так и кастомные скрипты, если у вас специфические требования.

Популярные плагины для автоматического импорта продуктов

WP All Import

WP All Import — один из самых универсальных плагинов для импорта товаров в WooCommerce и обычные кастомные типы записей. Он поддерживает импорт из CSV и XML, позволяет настроить маппинг полей и автоматический запуск по расписанию.

Основные возможности:

  • Поддержка любых форматов данных;
  • Гибкая настройка соответствия полей;
  • Импорт изображений;
  • Автоматический импорт по Cron;
  • Расширения для WooCommerce.

Для установки и настройки достаточно загрузить плагин из официального магазина WPSHOP.

Product Import Export for WooCommerce

Этот плагин позволяет быстро импортировать и экспортировать товары WooCommerce, поддерживает CSV, Excel и XML. Он отлично подходит для периодического обновления каталога и интеграции с внешними системами.

Из особенностей:

  • Импорт/экспорт по расписанию;
  • Поддержка вариаций;
  • Обновление существующих товаров;
  • Поддержка пользовательских полей.

Подробнее о плагине и его настройке можно узнать на WPSHOP.

Автоматический импорт с помощью собственного кода

Если вы хотите более тонко контролировать процесс, можно написать свой скрипт импорта. Рассмотрим пример функции wpweb_import_products_from_csv(), которая читает CSV и создаёт/обновляет товары WooCommerce.

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

function wpweb_import_products_from_csv($file_path) {
    if (!file_exists($file_path)) {
        return new WP_Error('file_not_found', 'CSV файл не найден');
    }

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

    $header = fgetcsv($handle);
    if (!$header) {
        fclose($handle);
        return new WP_Error('empty_file', 'CSV файл пустой');
    }

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

        // Проверка обязательных полей
        if (empty($data['sku']) || empty($data['name'])) {
            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_sku($data['sku']);
        $product->set_regular_price($data['price']);
        $product->set_description($data['description'] ?? '');
        $product->set_stock_quantity(intval($data['stock'] ?? 0));
        $product->set_stock_status($data['stock'] > 0 ? 'instock' : 'outofstock');

        $product->save();
    }
    fclose($handle);
    return true;
}

Этот код можно запускать вручную или по Cron, подставляя путь к CSV-файлу с товарами.

Запуск импорта по Cron

Чтобы автоматизировать импорт, зарегистрируем Cron-задание:

add_action('wpweb_import_products_cron_hook', 'wpweb_import_products_cron_function');

function wpweb_import_products_cron_function() {
    $file_path = WP_CONTENT_DIR . '/uploads/products.csv';
    wpweb_import_products_from_csv($file_path);
}

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

Это запустит импорт товаров из products.csv каждый час. Можно изменить периодичность, используя другие интервалы или создавать свои.

Рекомендации по работе с импортом

При работе с импортом важно учитывать несколько моментов:

  • Всегда делайте резервные копии БД перед массовым импортом;
  • Тестируйте импорт на тестовом сайте, чтобы избежать потери данных;
  • Следите за корректностью форматов данных в CSV или XML;
  • Оптимизируйте скрипты, чтобы не перегружать сервер при больших объёмах;
  • Используйте возможности плагинов для упрощения рутинных задач.

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

Если вы используете решения из WPSHOP, обратите внимание на плагины, которые интегрируются с WooCommerce и позволяют расширить функционал импорта, например, WPCommunity для организации каталогов и отзывов или WPRemark для автоматической модерации комментариев к товарам.

Как удалить или изменить метаданные продуктов WooCommerce без плагинов
02.06.2026
Как избежать повторов постов в WordPress
07.01.2026
Как добавить автоматическое сохранение черновиков в WordPress для защиты контента
31.01.2026
Как избежать конфликтов между AJAX и REST API в WordPress
13.04.2026
Как избежать проблем со сценариями в WordPress
22.03.2026