gpt4 book ai didi

ajax - Woocommerce:如何在应用/删除优惠券时禁用 AJAX?

转载 作者:行者123 更新时间:2023-12-03 15:00:47 27 4
gpt4 key购买 nike

在我的基于 woocommerce 的商店中,我将购物车和结帐页面合二为一,效果很好,但是当我尝试删除优惠券时出现问题。优惠券通过 AJAX 处理从购物车中删除,因此当删除完成时 - 页面不会重新加载,优惠券仍然显示为已应用(但实际上已被删除)。
所以我需要禁用 AJAX 来申请/删除优惠券功能。

我尝试将此代码添加到我的主题的functions.php中:

function disable_checkout_script(){
wp_dequeue_script( 'wc-checkout' );
}
add_action( 'wp_enqueue_scripts', 'disable_checkout_script' );

它解决了我的问题,但此代码在结帐页面禁用了所有 AJAX,我想仅对申请/删除优惠券禁用 ajax,并保存另一个 ajax 处理,例如帐单/运输字段的验证。

请帮忙,不幸的是我不是 JS 专家。
问候!

最佳答案

在您的 JS 文件中,您需要删除几个事件处理程序。按下移除优惠券按钮以及提交优惠券表单时会触发一个事件。

相关的行是 woocommerce/assets/js/frontend/checkout.js 的 381 - 383 (WooCommerce 加载此文件的缩小版本)。

$( document.body ).on( 'click', 'a.showcoupon', this.show_coupon_form );
$( document.body ).on( 'click', '.woocommerce-remove-coupon', this.remove_coupon );
$( 'form.checkout_coupon' ).hide().submit( this.submit );

您需要删除 2 和 3。

将以下代码添加到您的 JS 文件中:
$( document.body ).off( 'click', '.woocommerce-remove-coupon', wc_checkout_coupons.remove_coupon );
$( 'form.checkout_coupon' ).off( 'submit' );

关于ajax - Woocommerce:如何在应用/删除优惠券时禁用 AJAX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30626895/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com