ajax - 在 woocommerce 中使用 ajax 删除购物车中的产品

标签 ajax wordpress woocommerce

我想使用 ajax 删除 woocommerce 购物车中的产品,而不单击链接。

如果您遇到此类功能,请帮助我们。

add_action( 'wp_footer', 'add_js_to_wp_wcommerce');

function add_js_to_wp_wcommerce(){ ?>
    <script type="text/javascript">
    jQuery('.remove-product').click(function(){
        var product_id = jQuery(this).attr("data-product_id");
        jQuery.ajax({
            type: 'POST',
            dataType: 'json',
            url: "/wp-admin/admin-ajax.php",
            data: { action: "product_remove", 
                    product_id: product_id
            },success: function(data){
                console.log(data);
            }
        });
        return false;
    });
    </script>
<?php }

add_action( 'wp_ajax_product_remove', 'product_remove' );
add_action( 'wp_ajax_nopriv_product_remove', 'product_remove' );
function product_remove() {
    global $wpdb, $woocommerce;
    session_start();
    foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item){
        if($cart_item['product_id'] == $_POST['product_id'] ){
            // Remove product in the cart using  cart_item_key.
            $woocommerce->cart->get_remove_url($cart_item_key);
        }
    }
    print_r($woocommerce->cart->get_cart());
    //echo json_encode(array('status' => 0));
    exit();
}

最佳答案

您可以使用 WC_Cart set_quantity 方法

并在您的 php 中执行以下操作:

$cart = WC()->instance()->cart;
$id = $_POST['product_id'];
$cart_id = $cart->generate_cart_id($id);
$cart_item_id = $cart->find_product_in_cart($cart_id);

if($cart_item_id){
   $cart->set_quantity($cart_item_id,0);
}

关于ajax - 在 woocommerce 中使用 ajax 删除购物车中的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21900865/

相关文章:

php - 如何防止未经授权的内容查看(php/js)

php - 我怎样才能在循环外获取foreach循环变量

php - 从 WooCommerce 获取产品描述?

mysql - 插件数据存储在数据库中的什么位置?

javascript - 后台不工作的JQUERY函数

javascript - WooCommerce 删除我添加到产品简短描述中的自定义 jQuery 代码

php - 无法删除 WooCommerce 图像缩放

jquery - Yii 2 ajax表单提交如何在收到json响应时得到相应输入的错误

javascript - 在新的 &lt;script&gt; 标签内动态加载 Javascript 代码

javascript - ASP.NET MVC 4 AJAX.BeginForm 和 PartialViews