You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将WooCommerce结账登录表单移至订单审核后并修复异常?

解决WooCommerce结账登录表单移至订单审核区后的JS异常问题

直接移除默认动作再添加到新位置会导致WooCommerce原生JS事件绑定失效,同时表单展开状态逻辑不适配新位置,以下是修复方案:

替换原有代码

把你之前的代码替换成下面这段:

// 移除默认位置的结账登录表单
remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_login_form', 10 );

// 在订单审核区域后添加自定义处理的登录表单
add_action( 'woocommerce_checkout_after_order_review', 'custom_checkout_login_form', 10 );

function custom_checkout_login_form() {
    // 输出WooCommerce默认的登录表单HTML结构
    woocommerce_checkout_login_form();
    
    // 重新初始化登录表单的交互逻辑
    ?>
    <script type="text/javascript">
        (function($) {
            // 初始状态隐藏登录表单,解决自动展开问题
            $('.woocommerce-form-login').hide();
            
            // 重新绑定登录按钮的点击切换事件
            $('.showlogin').on('click', function(e) {
                e.preventDefault();
                $('.woocommerce-form-login').toggle();
            });
        })(jQuery);
    </script>
    <?php
}

方案说明

  • 自定义函数先调用官方表单输出方法,保证HTML结构与默认一致
  • 手动设置表单初始为隐藏状态,修复自动展开的问题
  • 重新绑定按钮点击事件,恢复原生的展开/折叠交互

额外注意

  • 如果你的主题重写了woocommerce_checkout_login_form模板,需要根据实际HTML结构调整JS里的选择器(比如类名)
  • 修改后务必清除浏览器缓存、WooCommerce缓存及CDN缓存,确保新代码生效

内容的提问来源于stack exchange,提问作者user21571645

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:26:58