今天更换服务器后,通过数据库恢复数据,但是忘记WordPress的登录密码。通过邮箱找回密码,点击邮件里的链接但提示:您的密码重设链接无效,请在下方请求新链接。百度教程找到通过更改WordPress代码解决方案,具体操作流程如下(亲测有效)。
出现这个问题原因是wordpress程序源码的bug,导致用户邮件里的url链接是被“<>”包住,用户点击链接后解析出错。
下面解决方案:
修改WordPress两个文件中的代码即可。
- 第一个文件:/wp-login.php
- 第二个文件:/wp-includes/pluggable.php
一、修改第二个文件:
- 宝塔后台打开第一个文件wp-login.php;
- Ctrl+F查找“wp-login.php?action=rp&key=”;
- 查找到后修改代码保存即可。
原文件代码如下:
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";
将其修改为:
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";
修改内容是network前面删除了 ‘<‘ . 后面末尾处只删除>即可。
二、修改第一个文件:
- 宝塔后台打开第二个文件pluggable.php;
- Ctrl+F查找“wp-login.php?action=rp&key=”;
- 查找到后修改代码保存即可。
原文件代码如下:
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . ">\r\n\r\n";
将其修改为:
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n";
修改内容是network前面删除了 ‘<‘ .末尾同样是只删除>
修改完以上两处文件保存后就可以了。
修改后的效果图:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)