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

如何修改WooCommerce注册重定向代码实现返回来源页?

实现WooCommerce注册成功后跳转至来源页

你可以参照登录功能的实现逻辑,通过两步修改完成注册后返回来源页的需求:

1. 在注册表单中添加来源页隐藏字段

和登录表单的处理逻辑一致,先在注册表单末尾插入隐藏字段存储用户的来源页地址:

add_action( 'woocommerce_register_form_end', 'register_actual_referrer' );
 
function register_actual_referrer() {
   if ( ! wc_get_raw_referer() ) return;
   echo '<input type="hidden" name="redirect" value="' . wp_validate_redirect( wc_get_raw_referer(), wc_get_page_permalink( 'myaccount' ) ) . '" />';
}

这段代码会在注册表单末尾添加名为redirect的隐藏字段,值为经过安全验证的用户来源页地址,若来源页无效则默认 fallback 到「我的账户」页面。

2. 修改注册重定向逻辑

替换原有跳转首页的代码,读取表单提交的redirect参数完成跳转:

add_filter( 'woocommerce_registration_redirect', 'customer_register_redirect_to_referrer' );
 
function customer_register_redirect_to_referrer( $redirect_url ) {
   // 检查并使用合法的redirect参数
   if ( isset( $_POST['redirect'] ) ) {
       $redirect_url = wp_validate_redirect( $_POST['redirect'], wc_get_page_permalink( 'myaccount' ) );
   }
   return $redirect_url;
}

这段代码会优先采用表单提交的来源页地址(自动过滤不安全地址),无有效参数时默认跳转至「我的账户」页面。

注意事项

  • 将两段代码添加到主题的functions.php文件或自定义插件中即可生效
  • wp_validate_redirect函数会自动拦截恶意跳转地址,保障站点安全

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 20:03:17