Jor*_*ris 3 php wordpress checkout woocommerce
我正在使用woocommerce订阅和礼品扩展。这样就可以将订阅礼物赠送给收件人。我正在努力让在一个订单中向多人赠送订阅成为可能。
棘手的是,每个产品默认只能赠送给 1 人。因此,为了向多人赠送礼物,必须将同一产品多次添加到购物车中。
使用此线程:WooCommerce - 如果数量超过 1,则单独处理购物车项目
我已成功将相同的产品添加到购物车并显示在多行中。因此,如果我输入订阅产品的数量 5 并将其添加到购物车,我的购物车中会出现 5 个条目。这太棒了,因为现在我可以将每一行都赠送给另一个人。
然而,当我继续结帐时,它又变得混乱了。所有产品都挤在一起,而不是在单独的线上展示产品。因此,在结账时,我看到的是数量为 5 的 1 行,而不是数量为 1 的 5 行。
这就是问题所在:
如何确保结账页面上的订单审核表显示数量 x>1 的产品的单独行,而不是数量 x 的 1 行?
备注:我发现只有当 woocommerce 订阅礼物附加组件处于活动状态时,它才不起作用。它覆盖似乎覆盖了 wc_cart_item_data
你可以使用这个代码
function separate_individual_cart_items( $cart_item_data, $product_id ) {
$unique_cart_item_key = md5( microtime() . rand() );
$cart_item_data['unique_key'] = $unique_cart_item_key;
return $cart_item_data;
}
add_filter( 'woocommerce_add_cart_item_data', 'separate_individual_cart_items', 10, 2 );
Run Code Online (Sandbox Code Playgroud)
您可以将此代码放入functions.php或您自己的插件中(最好的解决方案)。
和一个观察,因为这个问题与这个问题类似
WooCommerce - 如果数量超过 1,则将购物车商品分开处理
但我无法关闭问题,抱歉...我的声誉很低)