问题描述

我想通过一个链接直接在我的购物车中添加一个变体产品。我使用查询字符串设置 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_idvariation_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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。