WC Avito XML Export
Экспорт товаров WooCommerce на Avito в формате XML
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/ali3412-lgtm/avito-uralgips/archive/refs/heads/main.zipWooCommerce Avito XML Generator
WordPress плагин для автоматической генерации XML-фида товаров WooCommerce для размещения на Avito.
Описание
Плагин интегрируется с WooCommerce и позволяет экспортировать товары в XML формате, совместимом с требованиями Avito. Поддерживает гибкую настройку полей, шаблоны описаний с плейсхолдерами и автоматическую генерацию по расписанию.
Основные возможности
- ✅ Динамическая система полей - настраиваемые поля для товаров и категорий
- ✅ Индивидуальный контроль экспорта товаров - режим ручного выбора товаров для экспорта
- ✅ Пользовательские поля категорий - добавляйте произвольные XML-поля для каждой категории
- ✅ Система плейсхолдеров - используйте данные товаров в шаблонах
- ✅ Автоматическая генерация XML - настраиваемое расписание через WP Cron
- ✅ Поддержка изображений - автоматический экспорт до 10 изображений
- ✅ Приоритет цен - использует цены распродажи, если установлены
- ✅ Логирование - отслеживание процесса генерации
Требования
- WordPress 5.0 или выше
- WooCommerce 3.0 или выше
- PHP 7.0 или выше
Установка
- Скачайте или клонируйте репозиторий в папку
wp-content/plugins/ - Активируйте плагин через меню "Плагины" в WordPress
- Перейдите в WooCommerce → Avito Export для настройки
Настройка
1. Настройка полей XML
Перейдите в WooCommerce → Поля XML для настройки полей:
- Глобальные поля - одинаковые значения для всех объявлений
- Поля категорий - настройки на уровне категорий товаров
- Поля товаров - индивидуальные поля для каждого товара
2. Настройка категорий (опционально)
- Откройте Товары → Категории
- Отредактируйте нужную категорию
- В блоке "Настройки Avito":
- Настройте шаблон заголовка (Title) для всех товаров категории
- Добавьте пользовательские XML-поля для этой категории
3. Индивидуальный контроль экспорта товаров (опционально)
В разделе WooCommerce → Avito Export включите "Индивидуальный контроль экспорта":
Режим работы:
- Выключен (по умолчанию): Экспортируются все опубликованные товары
- Включен: Экспортируются только товары с установленным флагом "Экспорт на Avito"
Где найти чекбокс товара:
- Откройте страницу редактирования товара
- На вкладке "Общие" найдите чекбокс "Экспорт на Avito"
- Отметьте его для включения товара в экспорт
Примечание: Чекбокс появляется у товаров только при включенном режиме индивидуального контроля.
4. Автоматическая генерация
В разделе WooCommerce → Avito Export:
- Включите автоматическую генерацию XML
- Выберите интервал (ежедневно, два раза в день, еженедельно)
- Настройте уведомления об ошибках
Плейсхолдеры
Используйте плейсхолдеры в значениях полей и условиях генерации:
Стандартные поля товара
{product_name}- название товара{product_sku}- артикул{product_price}- текущая цена{product_regular_price}- обычная цена{product_sale_price}- цена со скидкой{product_description}- полное описание{product_short_description}- краткое описание{category_name}- название категории{current_date}- текущая дата (например, "19 января")
Произвольные поля
{meta:field_name}- произвольное поле товара{term_meta:field_name}- произвольное поле категории{attribute:attribute_name}- атрибут товара
Условия генерации полей
Для глобальных полей можно указывать условия, при которых поле будет включено в XML.
Поддерживаемые операторы:
=- равно!=- не равно>- больше<- меньше>=- больше или равно<=- меньше или равноcontains- содержит (регистронезависимо)!contains- не содержит (регистронезависимо)
Примеры условий:
{category_name}=Керамзит
{product_price}>1000
{product_name} contains кирпич
{meta:_stock_status}=instock
{attribute:pa_color}!=красный
{product_price}<=5000
Использование:
- Перейдите в WooCommerce → Поля XML
- В таблице глобальных полей найдите колонку "Условие генерации"
- Введите условие с использованием плейсхолдеров и операторов
- Поле будет добавлено в XML только если условие выполнено
Вложенные XML структуры (Nested)
Для пользовательских полей товаров и категорий можно создавать вложенные XML структуры с помощью JSON формата.
Как использовать:
- Откройте товар или категорию для редактирования
- В разделе "Пользовательские поля" добавьте новое поле
- Укажите XML тег (например,
Purpose) - В поле "Тип" выберите "Вложенный"
- В поле "Значение" введите JSON структуру
Примеры JSON структур:
Простой список элементов:
{
"Option": ["Газобетон", "Пенобетон", "Гипсокартон", "Бетонные блоки"]
}
XML результат с тегом Purpose:
<Purpose>
<Option>Газобетон</Option>
<Option>Пенобетон</Option>
<Option>Гипсокартон</Option>
<Option>Бетонные блоки</Option>
</Purpose>
Вложенная структура с объектами:
{
"Material": {
"Type": "Газобетон",
"Density": "D500",
"Grade": "B2.5"
}
}
XML результат с тегом Specification:
<Specification>
<Material>
<Type>Газобетон</Type>
<Density>D500</Density>
<Grade>B2.5</Grade>
</Material>
</Specification>
Использование плейсхолдеров:
{
"Option": ["{category_name}", "Цена: {product_price} руб."]
}
XML результат с тегом Details:
<Details>
<Option>Строительные материалы</Option>
<Option>Цена: 5990 руб.</Option>
</Details>
Структура XML
Генерируемый XML соответствует требованиям Avito:
<?xml version="1.0" encoding="UTF-8"?>
<Ads formatVersion="3" target="Avito.ru">
<Ad>
<Id>SKU123</Id>
<Title>Название товара</Title>
<Description><![CDATA[Описание товара]]></Description>
<Price>5990</Price>
<Images>
<Image url="https://example.com/image1.jpg"/>
</Images>
<!-- Дополнительные поля -->
</Ad>
</Ads>
Структура плагина
wc-avito/
├── avito-uralgips.php # Основной файл плагина
├── uninstall.php # Очистка данных при удалении
└── includes/
├── admin-menu.php # Страница настроек
├── field-settings-page.php # Настройка полей XML
├── xml-generator.php # Генерация XML
├── xml-generator-dynamic.php # Динамические поля в XML
├── field-manager.php # Управление настройками полей
├── category-export-field.php # Поля категорий
├── dynamic-category-fields.php # Динамические поля категорий
├── dynamic-product-fields.php # Динамические поля товаров
├── product-fields.php # Статические поля товаров
├── product-export-field.php # Контроль экспорта товаров
└── cron.php # Автоматическая генерация
Использование
Ручная генерация XML
- Перейдите в WooCommerce → Avito Export
- Нажмите "Сгенерировать XML"
- Скачайте сгенерированный файл по ссылке
Автоматическая генерация
После настройки расписания XML будет генерироваться автоматически. Файл доступен по адресу:
https://your-site.com/wp-content/uploads/avito_products.xml
Логика экспорта
Товар экспортируется если:
- ✅ Статус публикации: "Опубликован"
- ✅ Товар принадлежит хотя бы одной категории с включенным экспортом
- ✅ У товара установлена цена больше 0
Удаление плагина
При удалении через WordPress автоматически удаляются:
- Все поля товаров (post_meta)
- Все поля категорий (term_meta)
- Настройки плагина (options)
- Задачи Cron
- Сгенерированные XML файлы
История изменений
v1.4.0 (2026-01-23)
- ✅ Вложенные XML структуры для пользовательских полей товаров и категорий
- Добавлена возможность создавать вложенные XML теги через JSON структуру
- Теперь можно выбрать тип поля: "Текст" или "Вложенный"
- Пример:
{"Option": ["Газобетон", "Пенобетон", "Гипсокартон"]}создаст<Purpose><Option>Газобетон</Option>...</Purpose> - Поддержка плейсхолдеров внутри вложенных структур
v1.3.0 (2026-01-23)
- ✅ Поддержка вложенных XML структур (Nested) для глобальных полей
- Добавлен новый тип поля "nested" для создания сложных XML структур
- Поддержка JSON формата для описания вложенности
- Рекурсивная обработка вложенных элементов
- Обработка плейсхолдеров на всех уровнях вложенности
v1.2.0 (2026-01-23)
- ✅ Условия генерации полей - добавлена возможность указывать условия для глобальных полей с применением плейсхолдеров
- Поддерживаемые операторы:
=,!=,>,<,>=,<=,contains,!contains - Примеры условий:
{category_name}=Керамзит,{product_price}>1000,{product_name} contains кирпич - Поля генерируются только если условие выполнено
- Поддерживаемые операторы:
Последние обновления
- ✅ Удалена зависимость от ACF
- ✅ Убрана генерация CSV (только XML)
- ✅ Удалены алгоритмы автоматической генерации описаний
- ✅ Полностью динамическая система полей
- ✅ Контроль экспорта через категории
- ✅ Система плейсхолдеров для шаблонов
- ✅ Проверки на пустые значения полей
Поддержка
При возникновении проблем:
- Проверьте логи генерации в разделе настроек
- Убедитесь что у категорий включен экспорт
- Проверьте что у товаров заполнены обязательные поля
Лицензия
Этот плагин разработан для внутреннего использования.
Автор
Разработано для Uralgips Izhevsk