Я написал скрипт на Python для автоматизации процесса добавления продуктов. Сценарий сканирует организованную папку и преобразует информацию о содержимом папки в формат CSV. Позже этот файл CSV импортируется. Это работает просто отлично.
Я использую эту настройку для импорта только простых (не в комплекте) товаров. Сейчас я работаю над пакетами продуктов. Они немного проблематичны. Позвольте мне уточнить.
Вот как выглядит предварительно импортированный CSV:
sku,name,categories,images
EXP0101,"Pio Kitaplık","Aksesuarlar > Kitaplıklar","url, url, url"
Столбец SKU является необязательным. Когда я импортирую этот csv / products, продуктам присваивается идентификатор в системе. Если я делаю экспорт на одном сайте, выходной CSV содержит столбец ID. Когда я импортирую тот же CSV-файл на другой сайт, новая система не учитывает идентификаторы при импорте. Существует один вариант для идентификаторов / SKU, но в этом случае он не имеет значения, потому что я не делаю обновления для существующих продуктов:
☐ Существующие продукты, соответствующие идентификатору или артикулу, будут обновлены. Продукты, которые не существуют, будут пропущены.
Короче говоря, система присваивает новый (увеличенный) идентификатор каждому продукту, независимо от того, определяете ли вы идентификаторы в CSV или нет. Вот где начинается проблема. Используется подключаемый модуль комплекта Комплекты продуктов WPC для WooCommerce . Плагин связывает (связывает) продукты вместе через идентификаторы. Например:
id,type,sku,name,categories,images,"Meta: woosb_ids"
418,woosb,EXP0118,"Çırağan Yemek Odası Takımı","Yemek Odası > Yemek Odası Takımları","url, url, url","416/1,414/1,415/1"
При импорте субпродуктам не будут присвоены идентификаторы в CSV-файле. У них будут разные идентификаторы. Таким образом, ассоциация для продукта (# 418) "416/1,414/1,415/1"
(идентификатор / количество) не будет работать.
Чтобы обойти это, мне нужно знать, какой последний идентификатор в системе. Если я знаю последний идентификатор, я могу изменить идентификаторы в моем сценарии, чтобы он продолжался с последнего идентификатора.
Чтобы получить последний идентификатор, я мог бы получить продукты в системе, найти последний добавленный, проверить его идентификатор, но это будет работать, только если в системе есть какие-либо продукты. Если я добавлю 100 товаров, последний из них будет стоить 100. Если я удалю их, а затем проверю последний идентификатор, я получу 0, потому что товара нет.
Woocommerce должен вести внутреннюю запись этих идентификаторов. Поэтому, когда добавляется новый продукт, ему присваивается новый увеличенный идентификатор. Мне нужно знать, что это за внутренний идентификатор. Как / где я могу получить это?