woocommerce防止结账提交付款方式更改

时间:2017-07-07 22:53:46

标签: php ajax wordpress woocommerce

您好我在结帐页面遇到了一些问题,当我更改页面上的付款方式时,自动提交结帐订单,我想手动使用按钮。我尝试以下代码来禁用ajax调用,但似乎这不是ajax问题。

function script_disabled()
{
    wp_dequeue_script( 'wc-checkout' );
}

add_action('wp_enqueue_scripts', 'script_disabled');

1 个答案:

答案 0 :(得分:2)

您对问题的描述有些不太恰当。使用单选按钮更改付款方式不应自动提交订单。在我的安装中,此操作仅显示或隐藏付款方式的相应窗格。显示的窗格实际上有提交订单的按钮。下面的代码是用于阻止提交AJAX调用的jQuery事件处理程序。但是,我认为这不是解决您问题的正确方法。您所描述的行为并非WooCommerce结帐页面应如何运作。至少,它在我的安装上没有那样做,这对于结帐页面来说几乎是标准的。

jQuery( 'form.checkout' ).on( 'checkout_place_order', function() {
    var $payment_method = jQuery( 'form.checkout input[name="payment_method"]:checked' ).val();
    if ( /* your condition, e.g. "$payment_method == 'paypal'" */ ) {
        // prevent the submit AJAX call
        alert( 'submit cancelled!' );
        return false;
    }
    // allow the submit AJAX call
    return true;
});

我不会使用此解决方案,因为我认为其他错误。