WordPress 用户登录失败(账号或密码错误)重定向到自定义页面

企鹅博客
19500
文章
0
评论
2019年10月3日01:19:00 评论 631 views 1053字阅读3分30秒

如果我们使用前台自定义的登录页面,一般都不希望用户登录失败(账号密码错误)后跳转到WP后台默认的登录表单,那就需要做一个重定向,让用户登录失败后重定向到我们自定义的页面。

将下面的代码添加到主题的 functions.php 即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
add_action('wp_login_failed', 'my_front_end_login_fail');
function my_front_end_login_fail($username){
	// 获取提交数据的来源页面
	$referrer = $_SERVER['HTTP_REFERER'];
	// 如果是一个有效的来源,并且不是默认登录页面或后台管理页面
	if(!empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin')){
		// 追加一些信息(login=failed)到链接中,让主题使用
		wp_redirect($referrer . '?login=failed');
		exit;
	}
}

/** * WordPress 用户登录失败重定向到自定义页面 * https://www.wpdaxue.com/redirect-wordpress-failed-logins.html */ add_action('wp_login_failed', 'my_front_end_login_fail'); function my_front_end_login_fail($username){ // 获取提交数据的来源页面 $referrer = $_SERVER['HTTP_REFERER']; // 如果是一个有效的来源,并且不是默认登录页面或后台管理页面 if(!empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin')){ // 追加一些信息(login=failed)到链接中,让主题使用 wp_redirect($referrer . '?login=failed'); exit; } }

假设你的自定义登录页面地址为 http://你的域名/login,上面的第 8 行就会获取到这个页面链接,然后登录失败后,按照第 12 行的设置,就会返回 http://你的域名/login?login=failed 这个链接。你可以通过修改12行 wp_redirect() 这个函数的参数跳转到任何你想要的地址。

继续阅读
  • 版权声明: 发表于 2019年10月3日01:19:00
  • 转载注明:https://www.qieseo.com/31783.html
WordPress 禁用自动更新和更新提示 wp教程

WordPress 禁用自动更新和更新提示

WordPress 3.7 推出了后台自动更新,定期更新 WordPress 核心、主题和插件是提高网站安全性的重要举措,但是不少哥们就是不希望更新到最新版,也不希望看到更新提示,之前也分享了一下这方...
Gravatar 头像被墙及解决方案 wp教程

Gravatar 头像被墙及解决方案

貌似从前天开始,Gravatar 头像服务就被彻底屏蔽了,国内没办法正常访问,就连之前使用的缓存头像到本地的方法,在国内主机中也失效了。至于解决办法,也就 @bigfa 同学发文章了。下面就是来自 @...
WordPress 在用户列表记录用户注册时的IP地址 wp教程

WordPress 在用户列表记录用户注册时的IP地址

对于像 WordPress大学 这样开放注册的站点,经常都会受到批量垃圾注册攻击,虽然有一些很容易就识别出是垃圾用户,但是有一些还是很难确保的。我们可以通过记录用户注册时的IP地址,帮助我们进一步判断...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: