Поддержка WooCommerce Импорт товаров php из xml

  • Добрый день.
    Усть сайт с готовым импортом, но надо добавить несколько атрибутов к товарам.
    С атрибутом имеющим два значения я разобрался и сделал по подобию

    
            $v = $imported_product->attrs['Размещение бутыли'];
            $k = null;
            switch($v) {
                case NULL:
                case 'нет':
                case 'сверху - на кулере':
                    $k = 'Сверху';
                break;
     
                case 'снизу - внутри кулера':
                    $new_tags[] = 'Бутыль внутри';
                    $k = 'Внутри';
                break;
     
                default:
                    throw new Exception("Не определено положение бутыли " . (string)$imported_product . ": " . $v);
                break;
            }
            $new_attrs[] = $this->getAttributeWithTerm($k, 'buttleplace');
    

    Но когда атрибут содержит много значений и они могут появиться новые в файле xml производителя, то в готовом применяется такой код

    
    
            $imported_product->attrs['Цвет'] = str_replace('ё', 'е', $imported_product->attrs['Цвет']);
            $new_attrs[] = $this->getAttributeWithTerm(my_mb_ucfirst($imported_product->attrs['Цвет']), 'cvet', true);
    

    По этому примеру я сделал импорт нескольких атрибутов

    
    
            $imported_product->attrs['Размер ш*в*г (мм)'] = str_replace('ё', 'е', $imported_product->attrs['Размер ш*в*г (мм)']);
            $new_attrs[] = $this->getAttributeWithTerm(my_mb_ucfirst($imported_product->attrs['Размер ш*в*г (мм)']), 'razmer-sh-v-g-mm', true);
    

    Код работает, но если у конкретного товара этот параметр отсутствует в xml, то товар отмечается как скрытый и пропадает с сайта.
    Помогите сделать, чтобы при отсутствии атрибута или его значения просто пропускался импорт данного атрибута в товар.

    • Тема изменена 5 лет, 1 месяц назад пользователем max6320007.
  • Тема «Импорт товаров php из xml» закрыта для новых ответов.