Woocommerce从自定义链接向购物车添加变化产品[关闭]


15

我正在尝试通过链接直接向我的购物车中添加变化产品。我正在使用查询字符串设置variation_id。据我所知,我发送数据的方式与默认变式产品形式完全相同。

这是我的单一产品页面中的代码:

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart</a>

相反,简单的产品效果很好。我已在管理员中为我的产品变化设置了价格。不知道为什么它不像发送数据那样简单。任何帮助将不胜感激。

Answers:


10

我目前在woocommerce v2.1.12商店工作,看来他们对这种行为感到满意。

我的将商品添加到购物车的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]

最后,这很方便,因为所有这些值都在“提交表单/选择”字段中设置,因此您只需要查找这些值即可。


2
快速说明-检查变体选择字段以获取正确的属性名称。它通常使用连字符,因此您会得到:&attribute_my-attribute-name = value
命令式主意

9

想通了这一点。我缺少将可变产品添加到购物车所需的几个参数。缺少的参数是variation_id和所variation_id引用的属性类型。可以在管理> woocomerce>产品中以及您创建的产品变体旁边的变体选项卡下找到变体ID。

属性参数是由前缀attribute_和经过清理的属性名称组成的。例如,我的属性称为Stock Colors,因此我的属性类型参数为attribute_stock-colors。据我所知,您只是进行了设置,attribute_stock-colors=1因为“添加到购物车”方法只是检查它是否存在。

以下是一个简单示例的链接示例,该链接将产品添加到我的购物车中,其股票ID为261。

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=261&attribute_stock-colors=1">Add to Cart</a>

要在实际情况下使用此功能,您需要根据用户在下拉菜单或类似选项中选择的选项动态设置属性类型和变体ID(除非每个产品都具有相同的变体,这基本上会使它成为简单的产品)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.