米拓建站,500套模板主题任你选
阿里云优惠大拼团

修复 WordPress 找回密码提示“抱歉,该key似乎无效”

Loading
0
《LINUX就该这么学》运维人员必学的LINUX系统自学手册

一直都有朋友反馈,WordPress大学找回密码提示“抱歉,该key似乎无效”:

password-wpdaxue_com

问题出在了邮件的验证链接多出了一个 >:

0504-wpdaxue_com

解决的方法有两种:

方法一(推荐)

在当前主题的 functions.php 添加下面的代码即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * 修复 WordPress 找回密码提示“抱歉,该key似乎无效”
 * https://www.wpdaxue.com/lost-password-error-invalidkey.html
 */
function reset_password_message( $message, $key ) {
	if ( strpos($_POST['user_login'], '@') ) {
		$user_data = get_user_by('email', trim($_POST['user_login']));
	} else {
		$login = trim($_POST['user_login']);
		$user_data = get_user_by('login', $login);
	}
	$user_login = $user_data->user_login;
	$msg = __('有人要求重设如下帐号的密码:'). "\r\n\r\n";
	$msg .= network_site_url() . "\r\n\r\n";
	$msg .= sprintf(__('用户名:%s'), $user_login) . "\r\n\r\n";
	$msg .= __('若这不是您本人要求的,请忽略本邮件,一切如常。') . "\r\n\r\n";
	$msg .= __('要重置您的密码,请打开下面的链接:'). "\r\n\r\n";
	$msg .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') ;
	return $msg;
}
add_filter('retrieve_password_message', reset_password_message, null, 2);

推荐使用上面方法,因为即使你更新了 WP的版本,也不会影响你添加的代码。

方法二

打开WP根目录下的 wp-login.php,找到如下代码(WP3.8 位于 364 行):

1
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";

修改为:

1
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') ;

即可。

个人不推荐这个方法,因为每次更新WordPress以后都需要重新修改!

支付宝扫码打赏 微信打赏

如果本文对你有帮助,请打赏作者,鼓励我们继续写作!

阿里云优惠大全

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

WordPress 限制用户登录尝试次数 Limit Login Attempts

如何修改 WordPress 数据库前缀

16 条评论

  1. 为毛我在4.6.1最新版还碰到这样原始的问题

  2. 未来世界网

    楼主你好,如果是注册时发出的邮件里链接带应该怎么去掉呢

  3. 博主,这个修改的原理是什么啊?

  4. 4.0.1 没问题。。。 :!:

  5. 免费资源部落

    博主一个人更新两个博客?

  6. 这么严重的bug为什么一直到现在还没被修复

  7. WordPress主题

    每次都是审查元素,把那个尖括号去掉。

发表评论