Как сделать автоматический импорт продуктов в WordPress с помощью WP All Import

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

Почему стоит использовать WP All Import для автоматического импорта товаров

WP All Import — мощный и гибкий инструмент для импорта любых данных в WordPress. Его ключевые преимущества:

  • Поддержка любых форматов: CSV, XML и даже Excel через конвертацию.
  • Возможность импорта любых типов записей, включая кастомные типы постов и WooCommerce продукты.
  • Удобный визуальный интерфейс для сопоставления полей источника и полей WordPress.
  • Поддержка сложных импортов с вариациями, изображениями, пользовательскими полями и атрибутами.
  • Автоматизация через Cron, чтобы импорт запускался по расписанию.

Для WooCommerce есть отдельное расширение WP All Import — WooCommerce Add-On, которое значительно упрощает импорт товаров с вариациями и атрибутами.

Настройка автоматического импорта с расписанием

После настройки базового импорта в WP All Import возникает необходимость запускать импорт автоматически, чтобы не делать это вручную. Это особенно важно для магазинов с частым обновлением ассортимента.

Чтобы включить автоматический запуск, нужно настроить WP-Cron. Для этого:

  1. Создайте импорт в WP All Import и сохраните его.
  2. Перейдите в раздел Manage Imports и найдите ID вашего импорта.
  3. Настройте планировщик задач на сервере (cron job) для вызова скрипта импорта с помощью команды:
wget -q -O - "https://ваш-сайт.ru/wp-cron.php?import_key=ВАШ_УНИКАЛЬНЫЙ_КЛЮЧ&import_id=ID_ИМПОРТА" >/dev/null 2>&1

Где ВАШ_УНИКАЛЬНЫЙ_КЛЮЧ и ID_ИМПОРТА можно узнать в настройках импорта WP All Import.

Это позволит запускать импорт по расписанию без вмешательства пользователя.

Кастомизация импорта: добавление пользовательских полей и обработка данных

В ряде случаев нужно не только импортировать стандартные поля, но и добавлять или изменять данные при импорте. WP All Import предоставляет хуки для кастомной обработки.

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

<?php
function wpgenerate_wp_all_import_custom_field($post_id, $data, $import_id) {
    // Проверяем, что это нужный импорт
    if ($import_id != 12345) return;

    // Генерируем уникальный код на основе ID и текущего времени
    $custom_code = 'WG-' . $post_id . '-' . time();

    // Сохраняем пользовательское поле
    update_post_meta($post_id, '_wpgenerate_custom_code', $custom_code);
}
add_action('pmxi_saved_post', 'wpgenerate_wp_all_import_custom_field', 10, 3);
?>

Этот код нужно добавить в functions.php вашей темы или в site-specific плагин. Он сработает после каждого импорта, добавляя уникальный код к каждому продукту.

Работа с изображениями при импорте

Импорт изображений — одна из сложных частей автоматизации. WP All Import умеет импортировать изображения по URL, автоматически загружая их в медиабиблиотеку и связывая с продуктом.

Если в источнике несколько изображений, их можно указать через запятую. Для WooCommerce можно импортировать главное изображение и галерею.

Иногда требуется дополнительная обработка изображений — например, добавить водяной знак или изменить размер. Для этого можно использовать хук pmxi_gallery_image:

<?php
function wpgenerate_wp_all_import_process_image($image_url, $attachment_id, $post_id) {
    // Здесь можно добавить код для обработки изображения, например, добавить водяной знак
    // Для примера просто возвращаем URL без изменений
    return $image_url;
}
add_filter('pmxi_gallery_image', 'wpgenerate_wp_all_import_process_image', 10, 3);
?>

Пример полной автоматизации импорта продуктов из XML с расписанием

Допустим, у вас есть XML-файл с товарами, который обновляется у поставщика ежедневно. Нужно настроить автоматический импорт:

  • Создайте новый импорт в WP All Import, загрузите или укажите URL XML.
  • Сопоставьте поля: название, описание, цену, изображения, атрибуты.
  • Настройте WooCommerce Add-On для вариаций, если нужно.
  • Сохраните импорт и получите ID и ключ.
  • Настройте cron на сервере для ежедневного запуска команды с wget или curl.
  • Добавьте кастомный код для обработки, если требуется.

Таким образом, вы получите полностью автономный процесс обновления каталога, экономящий время и минимизирующий ошибки.

Альтернативы и дополнения к WP All Import

Если WP All Import по каким-то причинам не подходит, можно рассмотреть:

  • WooCommerce CSV Import Suite — официальный плагин для импорта CSV, но менее гибкий.
  • Custom scripts с SimpleXML или PHPExcel — для уникальных задач с глубоким контролем.
  • Плагины автоматизации типа WP-Cron Manager для управления расписанием.

Но WP All Import остаётся лучшим выбором для большинства задач благодаря простоте и функционалу.

Автоматическое создание категорий в WordPress с помощью кода
20.03.2026
Как автоматически отправлять сообщения в Telegram из WordPress
25.02.2026
Как автоматически удалять неиспользуемые категории в WordPress
31.01.2026
WooCommerce: автоматическое создание и удаление купонов по расписанию
08.07.2026
WooCommerce: автоматическое удаление неактивных пользователей по дате последнего заказа
29.05.2026