WordPress自定义登录页登录后重定向至首页的PHP修改咨询
修改STM LMS登录后重定向至首页的方法
直接添加header('Location: https://你的域名/')没效果,多半是因为WordPress或STM LMS插件已经通过钩子、内置函数处理了重定向,要么header被覆盖,要么之前有输出导致header失效。
针对stm-lms-user-redirect.php文件,按下面步骤修改:
- 打开文件,找到负责登录重定向的核心函数,通常名字会包含
stm_lms_login_redirect或stm_lms_user_redirect。 - 定位到函数里返回重定向URL的代码段,比如原代码可能是:
或者是获取自定义登录页地址的代码:return $redirect_to;$redirect_url = get_permalink( stm_lms_get_option( 'login_page' ) ); return $redirect_url; - 将返回的URL替换为网站首页地址,两种方式任选:
- 直接写死域名(适合固定域名的场景):
return 'https://你的域名/'; - 使用WordPress内置函数(域名变更时无需修改代码):
return home_url('/');
- 直接写死域名(适合固定域名的场景):
如果文件中没有明确的重定向函数,可在文件末尾添加以下代码,通过WordPress钩子强制覆盖默认重定向逻辑:
add_filter( 'login_redirect', 'stm_lms_custom_login_redirect', 999, 3 ); function stm_lms_custom_login_redirect( $redirect_to, $request, $user ) { // 登录成功后直接跳转至首页 return home_url('/'); }
设置优先级为999是为了确保该逻辑能覆盖插件或主题的其他重定向设置。
另外需要注意:如果文件中header()函数之前存在空格、换行、echo输出等内容,会导致header跳转失效,需删除这些多余输出,保证header()在任何内容输出前执行。
内容的提问来源于stack exchange,提问作者Francesco Cavalera
相关产品推荐
相关产品推荐

