php WooCommerce在结账时监听运输方式的变化

k5hmc34c  于 2023-03-28  发布在  PHP
关注(0)|答案(2)|浏览(102)

我有一些额外的javascript,我希望在WooCommerce结帐页面上运行时,用户更改其运输方式。目前,我使用以下;

jQuery( document.body ).on( 'updated_checkout', function() {
    // Javascript here...
});

上面的问题是,当用户也更改任何结帐数据(包括地址)时,此事件会触发。我只想在结帐时更新送货方法时运行我的javascript。我看不到任何事件侦听器或挂钩。

oymdgrw7

oymdgrw71#

谢谢你,@CBroe在评论中为我指出了正确的方向,我想把问题复杂化。
这适用于默认的WooCommerce运输类;

jQuery(document.body).on( 'change', 'input.shipping_method', function() {
    // Javascript here...
});
6ioyuze2

6ioyuze22#

您可以添加此操作:

add_action( 'woocommerce_after_checkout_form', 'your_function' );
function your_function( $available_gateways ) {
    wc_enqueue_js( ";
$('form.checkout').on('change', 'input[name^=\"shipping_method\"]', function () {
    const val = $(this).val();
    // you code here ...
});
" );

相关问题