所以,我使用端点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中的一个可用选项材料和:
[{"name":"Brand", "options": "Levis"},{"name":"Material", "options": "Polyester"}]
将变量属性设置为空数组。更新后的变化属性:
[]
这是更新产品变异属性的正确方法吗?在这种情况下,属性可以这样更新吗?还是必须创建一个新的变体?
经过几个小时的调试和寻找这个问题的解决方案,我发现这是我的一个愚蠢的错误,发生在给选项选项. 基本上,在创建/更新产品属性时,使用name和选项,在创建/更新变体属性时,传递name和option。
对于所有的人,面对创建或更新产品变异属性的问题,请检查一次这两个键是否正确传递。主要问题只有在这里才能解决。
回答我上面问的问题:
这是更新产品变型属性的正确方法吗?
这是正确的方法,但有一个纠正。正确更改属性的请求数据(注意它是选项)不是选择):
[{"name":"Brand", "option": "Levis"},{"name":"Material", "option": "Polyester"}]
在这种情况下,属性可以这样更新吗?还是必须创建一个新的变体?
现有的变化属性可以使用此更新,如果需要,我们可以创建新的。
引用:
- https://woocommerce.github.io/woocommerce-rest-api-docs/?javascript # product-variation-properties