【问题标题】:Remove product at cart从购物车中取出产品
【发布时间】:2017-11-19 18:14:20
【问题描述】:

我在商店页面 [woocommerce_cart] 中使用 woocommerce 拍摄代码。我正在尝试使用 ajax 删除产品。如何查找产品 ID 和购物车删除功能不起作用。

jQuery(document).ready(function( $ ) {  
     $( document ).on( 'click', '.product-remove .remove', function(e) {    
    e.preventDefault();
       var unit_id =// how can find product id;
      e.preventDefault();
       $.ajax({
            type: 'post',
             beforeSend: function() { $('#wait').show(); },
            data: {catremovpid: unit_id}, //Pass the id
            url:'http://mysiteurl.com/one-page/test/',
              success: function(data){  
                  $('.bd_woo_cart').empty().prepend('');
                 $('.bd_woo_cart').append(data);                 
                  console.log(data); 
              },
              error: function(data){
                console.log('error');
              }
        });
   });
});

而php函数是

if (isset($_POST["catremovpid"])){

     $data = $_POST["catremovpid"];

     $prod_unique_id = WC()->cart->generate_cart_id($data );
    // Remove it from the cart by un-setting it
    unset( WC()->cart->cart_contents[$prod_unique_id] );
    echo do_shortcode ('[woocommerce_cart]');    
}

但产品并未从购物车中移除。但此代码适用于购物车页面。但是在商店页面上这不起作用。

【问题讨论】:

    标签: wordpress plugins woocommerce


    【解决方案1】:

    尝试使用 remove_cart_item() 方法代替 php unset:

    if (isset($_POST["catremovpid"])){
    
         $data = $_POST["catremovpid"];
    
         $prod_unique_id = WC()->cart->generate_cart_id($data );
        // Remove it from the cart by un-setting it
        WC()->cart->remove_cart_item($prod_unique_id); 
        echo do_shortcode ('[woocommerce_cart]');    
    }
    

    【讨论】:

    • 首先请告诉我 (var unit_id =// 如何找到产品 ID;) 如何在删除按钮上找到产品 ID。但我正在检查 remove_cart_item 功能是否不起作用..
    • 此代码在购物车页面上工作,但我在服装页面上工作(如商店页面)。
    • 好的,我明白了。但是您可以使用与 plugins/woocommerce/templates/cart/cart.php 中相同的技术。不要使用 woocommerce_cart 简码,而是创建您自己的自定义简码,并使用给定文件中的代码。 foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { .... } - 你会在那里找到所有需要的函数(获取 ID、删除链接的准备函数等......)
    • 请帮帮我...给我一些代码检查在线网站testdeveloper.website/one-page
    • 我给了你代码,它在 plugins/woocommerce/templates/cart/cart.php 里面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2020-02-17
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    相关资源
    最近更新 更多