首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Woocommerce -同时向购物车添加多个产品

Woocommerce -同时向购物车添加多个产品
EN

Stack Overflow用户
提问于 2021-06-02 05:58:25
回答 2查看 480关注 0票数 3

我们有所有的虚拟和可下载产品的woocommerce网站。我们有多张与每个产品相连的票。我们做了一些研究,了解到woocommerce将购物车中的每一项都作为单独的预订。我们想对购物车中的所有物品进行单一预订。

例如,我们想在2021年05/06/21年的某一天参观一个博物馆,里面有成人、儿童和老年人门票。假设用户选择了5名成人、2名儿童和1名老年人。根据我们的研究,我们知道woocommerce将做3次预订。

  1. 5名成人
  2. 2名儿童
  3. 1老年人。

我们仅为5名成人、2名儿童和1名老年人保留单人预订。

在woocommerce有办法做这样的事吗?

EN

回答 2

Stack Overflow用户

发布于 2021-06-02 07:54:53

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

因此,与默认的add按钮不同,您可以添加自己的按钮,或者编写一些激发AJAX请求的JavaScript。然后,该请求将以编程方式将相关项添加到购物车中。完成后,您可以带用户到购物车页面。所以像这样的东西,注意,这是一个非常粗糙的,没有经过测试的例子,有很多关于如何做这个的信息。

加到手推车上启动

代码语言: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文件中(或者更好地使用单独的函数-ajax.php文件)

代码语言:javascript
复制
<?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');    
票数 1
EN

Stack Overflow用户

发布于 2021-06-02 17:14:45

是的,你不需要把成人、孩子和高级军官看作是个人的东西,但是你需要把它看作是一种订购的元。

假设您有一个product A,它现在是参观博物馆的,当有人进入产品页面时,应该有adultskidssenior citizens的3个编号字段。每当一个人需要预订产品时,他/她必须确保他至少要确保这三个字段中的任何一个都至少有一个值。

这些字段将负责更新产品的价格,一旦产品被添加,成人、儿童和老年人的价值将保存在订单中。

搜索完后,我发现了这个插件- 先进产品领域

  1. 从9个不同的表单元素中选择-使用此元素创建表单
  2. 动态产品价格:根据字段值更改价格。

我不认为这将节省秩序元(成人,儿童和老年人的计数)的秩序。使用此回答使用代码更新元数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67799635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档