Код для правильной обработки файлов импорта XML и YML с динамическими параметрами для Wp All Import
Зачастую приходится загружать товары в виде XML или YML фидов, которые содержат динамические параметры для атрибутов, описаний, цен и тд. Например фид с такой структурой:
Настроить импорт таких фидов не получится простым перетаскиванием полей, как это делается обычно в плагине Wp All Import. На скриншоте ниже 4 поля атрибутов. Два первых настроены верно, а два последних настроены не верно. При такой настройке атрибуты «Материал» и «Размер» будут подтягивать данные с 11 и 12 полей field, но главная проблема в том, что в другом товаре может быть другое количество атрибутов и соответственно под номерами 11 и 12 может оказаться совсем другой атрибут, в результате чего импорт пойдет вперемешку уже со второго товара.
Для этого нам нужно добавить регулярное выражение вот такой конструкции:
{field[@name="Название"]}
Имена полей и ключ атрибута «Название» нужно будет заменить на соответствующие вашему фиду. Смотрим, чтобы все настройки соответствовали:
Теперь самое важное, нужно добавить скрипт в файл functions.php вашей текущей темы.
// Скрипт обработки XML и YML для Wp All Import
function roomble_is_xml_preprocess_enabled( $is_enabled ) {
return false;
}
add_filter( 'is_xml_preprocess_enabled', 'roomble_is_xml_preprocess_enabled', 10, 1 );

