gpt4 book ai didi

wordpress - Woocommerce - 一次将多个产品添加到购物车

转载 作者:行者123 更新时间:2023-12-04 17:18:28 27 4
gpt4 key购买 nike

我们的 woocommerce 网站拥有所有虚拟和可下载的产品。我们有多个链接到每个产品的门票。我们做了一些研究,了解到 woocommerce 将购物车中的每件商品都视为单独的预订。我们想对购物车中的所有商品进行单一预订。

例如,我们想在 2021 年 5 月 6 日的某个日期参观博物馆,并且有成人、 child 和老年人门票与之相关联。假设用户选择了 5 名成人、2 名 child 和 1 名老年人。根据我们的研究,我们了解到 woocommerce 将进行 3 次预订

  1. 5 名成人
  2. 2 个 child
  3. 1 名老年人。

我们只想保留 5 名成人、2 名 child 和 1 名老年人的单一预订。

有没有办法在 woocommerce 中做这样的事情?

最佳答案

那里可能有插件,但最简单的方法是构建您自己的函数来处理这个问题。

例如,您可以添加自己的按钮或编写一些触发 AJAX 请求的 JavaScript,而不是使用默认的添加到购物车按钮。然后,该请求将以编程方式将相关商品添加到购物车。完成后,您可以将用户带到购物车页面。所以像这样,请注意这是一个非常粗糙的未经测试的示例,那里有很多关于如何执行此操作的信息

添加到购物车时触发

    addToCart: function(e) {
e.preventDefault();
var item_id = $(e.target).data('something');

$.ajax({
url: ajaxurl,
type: "POST",
data: {
'action': 'add_to_cart',
'item_id': item_id
},
success:function(data) {
// send to cart
}
});
}

在你的 functions.php 文件中(或者在一个单独的 functions-ajax.php 文件中更好)

<?php
function customAddToCart(){
global $woocommerce;
// you should do some checking against the values sent over along with a nonce

// then do something with the item id you sent over and add products to the cart as required, so for example:

if($_POST['item_id'] == "98765") {
$woocommerce->cart->add_to_cart(10,5); // 5 adult tickets
$woocommerce->cart->add_to_cart(4,2); // 2 child tickets
$woocommerce->cart->add_to_cart(11); // 1 senior tickets
}

// obviously needs more logic and that

echo "1";
die();
}
add_action('wp_ajax_add_to_cart', 'customAddToCart');
add_action('wp_ajax_nopriv_add_to_cart', 'customAddToCart');

关于wordpress - Woocommerce - 一次将多个产品添加到购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67799635/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com