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

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

Почему автоматизация импорта продуктов важна для WordPress

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

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

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

Обзор плагинов для импорта Excel в WordPress

1. WP All Import + WooCommerce Add-On

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

Преимущества:

  • Гибкие настройки импорта.
  • Поддержка обновления существующих продуктов.
  • Автоматизация через cron-задания.

Недостаток — плагин платный и требует базовых знаний для настройки.

2. Import any XML or CSV File to WordPress

Поддерживает импорт из CSV, можно предварительно конвертировать Excel в CSV. Позволяет создавать или обновлять кастомные типы записей и таксономии.

Полезен для проектов с кастомной структурой данных.

3. WP Ultimate CSV Importer

Плагин с возможностью импортировать CSV-файлы с товарами, пользователями, постами, метаполями и кастомными полями.

Практическое решение: автоматический импорт продуктов из Excel в WooCommerce с помощью кода

Если хотите сделать импорт полностью под себя, можно написать PHP-скрипт, который будет читать Excel-файл и создавать/обновлять товары.

Шаг 1. Подключаем библиотеку PhpSpreadsheet

Для чтения Excel-файлов используем популярную библиотеку PhpSpreadsheet. Установите ее через Composer в корне сайта:

composer require phpoffice/phpspreadsheet

Шаг 2. Создаем функцию для импорта

Добавьте следующий код в файл functions.php вашей темы или создайте плагин:

function wpdeveloper_import_products_from_excel($file_path) {
    if (!file_exists($file_path)) {
        return 'Файл не найден';
    }

    require_once __DIR__ . '/vendor/autoload.php'; // путь к автозагрузчику Composer

    $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_path);
    $worksheet = $spreadsheet->getActiveSheet();
    $rows = $worksheet->toArray();

    // Предполагаем, что первая строка - заголовки
    $header = array_shift($rows);

    foreach ($rows as $row) {
        $data = array_combine($header, $row);

        // Поиск товара по артикулу (SKU)
        $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['Название']);
        $product->set_sku($data['SKU']);
        $product->set_regular_price($data['Цена']);
        $product->set_description($data['Описание']);
        $product->set_stock_quantity($data['Количество']);
        $product->set_stock_status($data['Количество'] > 0 ? 'instock' : 'outofstock');

        $product->save();
    }

    return 'Импорт завершен';
}

Шаг 3. Запуск импорта по расписанию

Для автоматизации можно создать WP-Cron задачу, которая будет регулярно запускать импорт:

function wpdeveloper_schedule_import() {
    if (!wp_next_scheduled('wpdeveloper_import_cron_hook')) {
        wp_schedule_event(time(), 'hourly', 'wpdeveloper_import_cron_hook');
    }
}
add_action('wp', 'wpdeveloper_schedule_import');

add_action('wpdeveloper_import_cron_hook', function() {
    $file_path = WP_CONTENT_DIR . '/uploads/products.xlsx';
    wpdeveloper_import_products_from_excel($file_path);
});

Рекомендации по подготовке Excel-файла

Чтобы импорт прошёл успешно, важно придерживаться следующих правил:

  • Первая строка таблицы должна содержать заголовки столбцов: Название, SKU, Цена, Описание, Количество.
  • SKU должен быть уникальным идентификатором товара.
  • Цены и количество должны быть числами.
  • Избегайте пустых строк и столбцов.

Дополнительные возможности и интеграция с плагинами WPShop

Если вы используете WooCommerce и хотите расширить функционал, можно интегрировать импорт с плагинами от WPShop:

  • WPRemark для автоматических отзывов после обновления товаров.
  • WPGPT для генерации описаний товаров на основе ИИ, если описание отсутствует в Excel.

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

Заключение

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

Как создать автоматическое отправление отзывов на WordPress
20.12.2025
Как автоматизировать управление ролями и правами в WordPress
13.02.2026
Как удалить обсуждения и комментарии на отдельных страницах WordPress
24.12.2025
Как отключить AJAX в WooCommerce для ускорения загрузки страниц
16.05.2026
Как удалить все продажи WooCommerce по дате и статусу
19.04.2026