WordPress4.5.3重置密码失效解决办法分享(dux主题用户可以参照解决)

Author: 陌小雨Date: 2016-07-06View: 209

昨天,陌小雨心血来潮,试了一下WordPress支持中文用户注册的代码,因为最初没有添加smtp发信的代码,所以没有获取到用户密码,只好通过重置密码来获取,可是重置了几遍,发现WordPress4.5.3重置密码有bug,重置密码的邮件是收到了:

20160705233134

点开邮件,里面有一个重置链接:

20160705233158

点击这个链接后,出现提示:您的密码重设链接无效,请在下方请求新链接。

20160706101541

如此反复,根本是一个死循环嘛。

陌小雨发现重置密码中的链接有问题,首尾被<>包裹住了,经过分析,发现可以通过修改WordPress根目录下wp-login.php文件解决这个问题。

20160706233144.png

具体修改方法是把wp-login.php中搜索$message .即可定位需要修改的位置:将

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

修改为:

$message .=  network_site_url("wp-login.phpaction=rp&key=$key&login=" . rawurlencode($user_login), 'login');

这个时候再使用忘记密码功能,就会发现重置密码邮件中的链接已经正常了:

20160706102408

点击这个链接,就可以重新设置密码了:

20160706102507

之前看到有人说dux主题的重置密码失效,不知道是不是这个原因,这个是WordPress的问题,与主题无关,dux也蛮冤的哈!