Для владельцев интернет-магазинов на WordPress автоматизация импорта товаров из Excel значительно экономит время и снижает ручной труд. В этой статье мы рассмотрим, как настроить автоматический импорт продуктов из файлов Excel в WordPress, используя готовые плагины и кастомный код. Такой подход актуален для магазинов с большим количеством товаров и частыми обновлениями прайс-листов.
Почему автоматический импорт продуктов из Excel полезен в WordPress
Многие продавцы ведут каталог товаров в Excel или получают прайс-листы от поставщиков именно в этом формате. Ручной ввод или импорт через CSV может быть неудобным и подверженным ошибкам. Автоматизация позволяет:
- Сократить время обновления каталога;
- Минимизировать человеческие ошибки при переносе данных;
- Обеспечить регулярное обновление ассортимента без участия администратора;
- Упростить интеграцию с системами поставщиков.
Однако, чтобы реализовать такой импорт, нужно грамотно обработать файл Excel и преобразовать его данные в формат, приемлемый для WordPress и WooCommerce.
Обзор плагинов для импорта Excel в WordPress
Плагин WP All Import + WooCommerce Add-On
Один из самых мощных решений для импорта различных форматов, включая Excel (после конвертации в CSV). Позволяет настраивать соответствие полей Excel полям товаров WooCommerce, поддерживает импорт изображений, категорий, атрибутов и метаданных.
Для автоматизации можно настроить регулярный импорт с FTP или URL, что удобно для обновления каталога.
Плагин Import any XML or CSV File to WordPress
Хорош для базового импорта CSV, нужно предварительно конвертировать Excel в CSV. Поддерживает настройку импорта товаров WooCommerce, импорт метаданных и пользовательских полей.
Плагин WP Sheet Editor
Позволяет редактировать товары напрямую через таблицу в админке WordPress, импортировать и экспортировать Excel и CSV. Удобен для быстрой массовой правки и импорта.
Пример автоматического импорта Excel с помощью кастомного кода и PHPExcel
Если требуется кастомное решение, можно использовать библиотеку PhpSpreadsheet (преемник PHPExcel) для чтения Excel в PHP. Ниже пример функции для импорта товаров из Excel в WooCommerce:
function wpdeveloper_import_products_from_excel($file_path) {
require_once 'vendor/autoload.php'; // Подключаем PhpSpreadsheet
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_path);
$worksheet = $spreadsheet->getActiveSheet();
foreach ($worksheet->getRowIterator(2) as $row) { // Пропускаем заголовок
$cells = [];
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
$cells[] = $cell->getValue();
}
list($sku, $title, $description, $price, $stock) = $cells;
// Проверяем, есть ли товар с таким SKU
$product_id = wc_get_product_id_by_sku($sku);
if (!$product_id) {
$product = new WC_Product_Simple();
$product->set_sku($sku);
} else {
$product = wc_get_product($product_id);
}
$product->set_name($title);
$product->set_description($description);
$product->set_regular_price($price);
$product->set_stock_quantity($stock);
$product->save();
}
}Этот код берет файл Excel, считывает построчно данные и создает или обновляет товары WooCommerce по SKU. Для запуска функции достаточно передать путь к файлу Excel.
Настройка автоматического запуска импорта по расписанию (WP-Cron)
Чтобы импорт выполнялся автоматически, можно создать задачу cron в WordPress:
function wpdeveloper_schedule_import_event() {
if (!wp_next_scheduled('wpdeveloper_import_products_hook')) {
wp_schedule_event(time(), 'daily', 'wpdeveloper_import_products_hook');
}
}
add_action('wp', 'wpdeveloper_schedule_import_event');
add_action('wpdeveloper_import_products_hook', function() {
$file_path = WP_CONTENT_DIR . '/uploads/products.xlsx';
wpdeveloper_import_products_from_excel($file_path);
});Так импорт будет запускаться ежедневно, если файл с товарами обновляется на сервере, каталог всегда будет актуален.
Рекомендации по подготовке Excel файла для импорта
Для корректной работы импорта важно придерживаться простых правил:
- Первая строка — заголовки колонок: SKU, Название, Описание, Цена, Количество;
- Колонки должны быть заполнены корректно, без пустых строк;
- SKU должен быть уникальным для каждого товара;
- Избегайте сложных формул и форматов, используйте простой текст и числа;
- Обязательно тестируйте импорт на тестовом сайте перед работой с боевым.
Интеграция с плагинами для расширения возможностей
Для более удобной работы с импортом можно использовать плагины, например, WPRemark для автоматических уведомлений после успешного импорта и ABC Pagination для удобного отображения большого каталога товаров с пагинацией.
Использование готовых решений в сочетании с кастомным кодом позволяет добиться максимальной гибкости и надежности.