相关疑难解决方法(0)

使用AJAX - WooCommerce API将变体添加到购物车?

我有一个包含以下数据的项目:

var item = {
  id : "124",
  name : "xxx",
  price : "13.13",
  quantity : 1,
  options : {
    "size" : "xl",
    "color": "pink"
  }
};
Run Code Online (Sandbox Code Playgroud)

当用户点击"添加到购物车"时,我想使用WC API制作Ajax请求,并将上述项目添加到购物车.

jQuery.ajax({
   url: "some/woocommerce/api/add/to/cart/request/path",
   data: item,
   type: "POST"
});
Run Code Online (Sandbox Code Playgroud)

然后在购物车页面上,我想使用WC API制作另一个Ajax请求并检索购物车的内容.

我没有找到任何关于如何使用Javascript从客户端执行此操作的文档(官方或非官方).

有谁知道并且能为我提供一个例子吗?

此外,有谁知道为什么WooCommerce Api文档是如此可怕(缺乏有关如上所述的明显/标准问题的任何信息).我正在认真考虑让我们公司改用Shopify.

javascript ajax woocommerce

11
推荐指数
2
解决办法
2万
查看次数

Woocommerce - 无法使用Quick Order One Page Shop作为访客添加到购物车?

使用插件@ http://products.solvercircle.com/woocommerce-one-page-quick-shop/quick-shop/

好像我在管理员中以普通用户身份登录,我可以将商品添加到购物车中.如果我作为访客添加到购物车但是它执行ajax请求并返回"1"但该项目从未添加到购物车.

有谁知道为什么会这样?我在网站上停用的其他2个插件我仍然可以重现这个,所以我相信这是这个插件中的一个错误.

编辑:我确认"客人可以结帐"设置框已应用,所以似乎不是这样.

编辑#2:这是添加到购物车fn:

  function wqo_add_prod(pid,vid){
    var qty= jQuery('#product_qty_'+vid).val();
    if(qty==0){
      jQuery('#wqo_alert_info').text('Out of Stock');
      jQuery('#wqo_alert_info').show()
      setTimeout(function(){jQuery('#wqo_alert_info').hide()}, 1500);      
      return false;
    }
    if(vid==0){
      qty= jQuery('#product_qty_'+pid).val();
    }

    var ajax_url = 'http://DOMAIN.com/wp-admin/admin-ajax.php';
        jQuery.ajax({
          type: "POST",
          url:ajax_url,
              data : {
                  'action':          'wqo_addtocart',
                  'wqo_prod_id':     pid,
                  'wqo_prod_var_id': vid,
                  'wqo_prod_qty':    qty
          },
          success: function(response){            
            if(response==1){
              jQuery('#wqo_alert_info').text('Added to your cart');
            }else{
              jQuery('#wqo_alert_info').text(response);
            }

            jQuery.ajax({
              type: "POST",
              url:ajax_url,
              data : {'action': 'wqo_cart_amount'},
              success: function(data){             
                jQuery('#wqo_cart_price').html(data);
              }
            });

             jQuery('#wqo_alert_info').show()
             setTimeout(function(){jQuery('#wqo_alert_info').hide()}, 2000);          
          }
        });
  }
Run Code Online (Sandbox Code Playgroud)

编辑#3: php回调的来源

function wqo_addtocart() …
Run Code Online (Sandbox Code Playgroud)

wordpress woocommerce

2
推荐指数
1
解决办法
3408
查看次数

标签 统计

woocommerce ×2

ajax ×1

javascript ×1

wordpress ×1