问题描述
我想通过一个链接直接在我的购物车中添加一个变体产品。我使用查询字符串设置 variation_id 。据我所知,我发送的数据与默认变体产品格式完全相同。
这是我的 single-product 页面中的代码:
<a href="<?php%20echo%20esc_url(%20$product->add_to_cart_url()%20);%20?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart</a>
相反,简单的产品工作正常。我在管理员中设置了我的产品变化的价格。不知道为什么它不像发送数据那么简单。任何帮助将不胜感激。
最佳解决方案
我目前在一家商业软件商店中工作,似乎他们对这种行为进行了讨论。
我的 ajax 网址添加到购物车的项目必须如下所示:
?add-to-cart=[PRODUCT-ID]&variation_id=[VARIATION-ID]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]
例:
http://example.com/store/category/product/?add-to-cart=239&variation_id=240&attribute_pa_size=48-2&attribute_pa_color=gold
这将特定产品添加到购物车中,并在购物车中设置变体属性。您甚至可以通过添加&quantity=[VALUE]
来设置数量
最终这个方法很方便,因为所有这些值都设置在提交表单/选择字段内,你只需要查看这些。
次佳解决方案
看出这一个。我缺少一个参数,需要添加一个可变产品到我的购物车。缺少的参数是 variation_id
和 variation_id
所指的属性类型。变量 id 可以在 admin> wo ce ce 产品和您创建的产品变体旁边的变体标签下。
属性参数由前缀 attribute_
形成,然后形成消毒属性名称。例如,我的属性称为库存颜色,所以我的属性类型参数是 attribute_stock 颜色。从我可以说,你只是设置 attribute_stock-colors=1
,因为添加到购物车方法只是检查看是否存在。
以下是一个简单的链接示例,该链接将产品添加到我的购物车,具有变化 id 261 的股票颜色:
<a href="<?php%20echo%20esc_url(%20$product->add_to_cart_url()%20);%20?>&variation_id=261&attribute_stock-colors=1">Add to Cart</a>
为了在真实的情况下使用它,您需要从用户在下拉菜单中选择的选项动态设置属性类型和变体 ID(除非每个产品都具有相同的变体,这基本上使它成为一个简单的产品) 。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。