#attributes #woocommerce-rest-api #product-variations
Вопрос:
Итак, я использую конечную точку https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript#update-a-product-variation чтобы обновить существующие атрибуты варианта. Атрибуты были добавлены в продукт перед использованием их для изменения. Но обновление существующего атрибута до доступных значений означает установку для них значения Any:Any (что означает, что атрибуты были переопределены пустым массивом), и в интернет-магазине продукт теперь можно приобрести в любой комбинации атрибутов.
Например. — Существующие атрибуты для изменения продукта были:
[{"name":"Brand", "options": "Bare Denim"},{"name":"Material", "options": "Cotton"}]
и обновляет атрибуты до одного из доступных параметров из Brand и Material:
[{"name":"Brand", "options": "Levis"},{"name":"Material", "options": "Polyester"}]
устанавливает атрибуты изменения в пустой массив. Атрибуты изменения после обновления:
[]
Является ли это правильным способом обновления атрибутов изменения продукта? Могут ли атрибуты быть обновлены таким образом или в этом случае придется создать новую вариацию?
Ответ №1:
После нескольких часов отладки и поиска решения этой проблемы я обнаружил, что это была моя глупая ошибка, которая произошла из-за предоставления опций с атрибутами variation вместо option. По сути, при создании / обновлении атрибутов продукта используются имя и параметры, а при создании / обновлении атрибутов изменения должны передаваться имя и параметр.
Для всех, кто сталкивается с проблемой создания или обновления атрибутов изменения продукта, пожалуйста, проверьте один раз, правильно ли переданы эти два ключа или нет. Основные проблемы будут решены только здесь.
Ответ на вопросы, которые я задал выше:
Является ли это правильным способом обновления атрибутов изменения продукта?
Это правильный путь, но с исправлением. Исправьте данные запроса для атрибутов изменения (обратите внимание, что это опция, а не параметры):
[{"name":"Brand", "option": "Levis"},{"name":"Material", "option": "Polyester"}]
Могут ли атрибуты быть обновлены таким образом или в этом случае придется создать новую вариацию?
С помощью этого можно обновить существующие атрибуты изменения, и при необходимости мы можем создать новые.
Ссылки: