使用 AJAX 从自定义页面上的按钮中删除所有购物车项目

西德·麦卡德尔

我正在构建一个批量订单插件(用于 wordpress/woocommerce) - 所有添加到购物车的功能都运行良好。我正在努力创建一个“取消订单”按钮,按下该按钮时,会清除所有项目行(此位有效)以及从购物车中删除所有项目。

我正在尝试使用 AJAX/js、php 和标准 HTML 的组合..:

我的按钮..:

<button class="btn btn-danger btn-lg" id="cancelorder">Cancel Order</button>

我的购物车清空功能..:

add_action( 'init', 'woocommerce_clear_cart_url' );

function woocommerce_clear_cart_url() {
    global $woocommerce;
    if ( isset( $_GET['empty-cart'] ) ) {
        $woocommerce->cart->empty_cart();
    }
}

最后,我的 js 函数/ajax 调用..:

$("#cancelorder").click(function(){        
    if(confirm('Are you sure you want to clear all rows?')){
        $(".addedrow").remove(); //removes line items - not related to issue
        $.ajax({
        type: "POST",
        url: '/wp-admin/admin-ajax.php?action=woocommerce_clear_cart_url',
        data: {action : 'woocommerce_clear_cart_url'},
        success: function (res) {
            if (res) {
                alert('Removed Successfully');
                }
            }
        });
    } else {
        //back out with no action
    }
});

行已从表单中删除,但商品仍保留在购物车中。

西德·麦卡德尔

更新:我能够通过将上面的现有代码修改为以下内容来使其工作:

购物车清空功能..:

add_action('wp_ajax_wc_woocommerce_clear_cart_url', 'wc_woocommerce_clear_cart_url');
add_action('wp_ajax_nopriv_wc_woocommerce_clear_cart_url', 'wc_woocommerce_clear_cart_url'); 
//added wc_ prefix in case of function name conflict

function wc_woocommerce_clear_cart_url() {
global $woocommerce;
$returned = ['status'=>'error','msg'=>'Your order could not be emptied'];
$woocommerce->cart->empty_cart();
if ( $woocommerce->cart->get_cart_contents_count() == 0 ) {    
    $returned = ['status'=>'success','msg'=>'Your order has been reset!'];       
}
die(json_encode($returned));
}

和 js/ajax 方面..:

$("#cancelorder").on('click',function(){        
    if(confirm('Are you sure you want to clear all rows?')){
        $.ajax({
        type: 'POST',
        dataType: 'json',
        url: '/wp-admin/admin-ajax.php?action=wc_woocommerce_clear_cart_url',
        data: {action : 'wc_woocommerce_clear_cart_url'},
        success: function (data) {
                if (data.status != 'success') {
                    alert(data.msg);
                } else {
                    $('#itemrows').html('');
                    addrows();
                }
            }   
        });
    } else {
        //back out with no action
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用javascript或ajax在php中更新购物车中的每个项目

来自分类Dev

将多个自定义数据数组添加到WooCommerce自定义Ajax上的购物车项目中添加到购物车

来自分类Dev

WooCommerce:为特定页面添加一个使用WordPress自定义字段添加到购物车旁边的自定义按钮

来自分类Dev

根据 Woocommerce 中的自定义字段替换特定产品的 ajax 添加到购物车

来自分类Dev

我想在购物车页面上添加带有自定义标签的购物车中的产品

来自分类Dev

在Shopify中使用AJAX添加到购物车

来自分类Dev

使用WooCommerce Ajax更新购物车

来自分类Dev

Woocommerce使用ajax对购物车的总价施加折扣

来自分类Dev

在 Sylius 中使用 Ajax 添加到购物车

来自分类Dev

WooCommerce自定义Ajax添加到购物车:如何设置自定义价格?

来自分类Dev

也可以使用ACF在WooCommerce购物车中为可变产品获取自定义字段

来自分类Dev

Magento-使用config.xml检索购物车中的自定义属性LABEL

来自分类Dev

如何在使用自定义选项选择价格添加到magento的购物车中之前更改价格?

来自分类Dev

使用 Woocommerce 3 中的 GET 方法将来自 url 的自定义数据添加到购物车

来自分类Dev

Magento中的Ajax购物车项目更新

来自分类Dev

Ajax从magento的购物车中删除产品

来自分类Dev

使用Wordpress woocommerce创建自定义“添加到购物车”

来自分类Dev

使用ajax添加优惠券时,如何禁止购物车页面显示优惠券通知?

来自分类Dev

使用 ajax 更新购物车项目数量仅适用于第一次

来自分类Dev

使用香草javascript更改购物车中的购物车项目数量

来自分类Dev

使用angular从ng-repeat中添加和删除项目,简单的购物车实施

来自分类Dev

如何在购物车页面中添加/更新自定义购物车项目数据

来自分类Dev

在shopify中使用Ajax更新购物车数量时避免使用产品类型

来自分类Dev

在shopify中使用Ajax更新购物车数量时避免使用产品类型

来自分类Dev

如何在自定义页面上的购物车中显示产品数量

来自分类Dev

Magento Ajax购物车删除时重定向到删除页面

来自分类Dev

在woocommerce中使用Ajax将可变产品添加到购物车

来自分类Dev

在laravel中使用ajax更新购物车产品时出错

来自分类Dev

使用 Ajax 时如何访问购物车 ID 的会话变量?怎么设置属性?

Related 相关文章

  1. 1

    如何使用javascript或ajax在php中更新购物车中的每个项目

  2. 2

    将多个自定义数据数组添加到WooCommerce自定义Ajax上的购物车项目中添加到购物车

  3. 3

    WooCommerce:为特定页面添加一个使用WordPress自定义字段添加到购物车旁边的自定义按钮

  4. 4

    根据 Woocommerce 中的自定义字段替换特定产品的 ajax 添加到购物车

  5. 5

    我想在购物车页面上添加带有自定义标签的购物车中的产品

  6. 6

    在Shopify中使用AJAX添加到购物车

  7. 7

    使用WooCommerce Ajax更新购物车

  8. 8

    Woocommerce使用ajax对购物车的总价施加折扣

  9. 9

    在 Sylius 中使用 Ajax 添加到购物车

  10. 10

    WooCommerce自定义Ajax添加到购物车:如何设置自定义价格?

  11. 11

    也可以使用ACF在WooCommerce购物车中为可变产品获取自定义字段

  12. 12

    Magento-使用config.xml检索购物车中的自定义属性LABEL

  13. 13

    如何在使用自定义选项选择价格添加到magento的购物车中之前更改价格?

  14. 14

    使用 Woocommerce 3 中的 GET 方法将来自 url 的自定义数据添加到购物车

  15. 15

    Magento中的Ajax购物车项目更新

  16. 16

    Ajax从magento的购物车中删除产品

  17. 17

    使用Wordpress woocommerce创建自定义“添加到购物车”

  18. 18

    使用ajax添加优惠券时,如何禁止购物车页面显示优惠券通知?

  19. 19

    使用 ajax 更新购物车项目数量仅适用于第一次

  20. 20

    使用香草javascript更改购物车中的购物车项目数量

  21. 21

    使用angular从ng-repeat中添加和删除项目,简单的购物车实施

  22. 22

    如何在购物车页面中添加/更新自定义购物车项目数据

  23. 23

    在shopify中使用Ajax更新购物车数量时避免使用产品类型

  24. 24

    在shopify中使用Ajax更新购物车数量时避免使用产品类型

  25. 25

    如何在自定义页面上的购物车中显示产品数量

  26. 26

    Magento Ajax购物车删除时重定向到删除页面

  27. 27

    在woocommerce中使用Ajax将可变产品添加到购物车

  28. 28

    在laravel中使用ajax更新购物车产品时出错

  29. 29

    使用 Ajax 时如何访问购物车 ID 的会话变量?怎么设置属性?

热门标签

归档