今天更换服务器后,通过数据库恢复数据,但是忘记WordPress的登录密码。通过邮箱找回密码,点击邮件里的链接但提示:您的密码重设链接无效,请在下方请求新链接。百度教程找到通过更改WordPress代码解决方案,具体操作流程如下(亲测有效)。

WordPress找回密码提示:您的密码重设链接无效,请在下方请求新链接

出现这个问题原因是wordpress程序源码的bug,导致用户邮件里的url链接是被“<>”包住,用户点击链接后解析出错。

WordPress找回密码提示:您的密码重设链接无效,请在下方请求新链接

下面解决方案:

修改WordPress两个文件中的代码即可。

  • 第一个文件:/wp-login.php
  • 第二个文件:/wp-includes/pluggable.php

一、修改第二个文件:

  1. 宝塔后台打开第一个文件wp-login.php;
  2. Ctrl+F查找“wp-login.php?action=rp&key=”;
  3. 查找到后修改代码保存即可。

原文件代码如下:

$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前面删除了 ‘<‘ .  后面末尾处只删除>即可。

二、修改第一个文件:

  1. 宝塔后台打开第二个文件pluggable.php;
  2. Ctrl+F查找“wp-login.php?action=rp&key=”;
  3. 查找到后修改代码保存即可。

原文件代码如下:

$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前面删除了 ‘<‘ .末尾同样是只删除>

修改完以上两处文件保存后就可以了。

修改后的效果图:

WordPress找回密码提示:您的密码重设链接无效,请在下方请求新链接

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。