wordpress注册邮件链接无效,无法激活账户的问题
【摘要】 我们用wordpress建站的时候,经常会遇到,用户注册收到的邮件链接无效,无法激活账户的问题。
我们用wordpress建站的时候,经常会遇到,用户注册收到的邮件链接无效,无法激活账户的问题。
下面米米素材网小编给大家分别介绍对应问题和解决方案。
第一种情况是在用户注册的时候收到激活邮件:
点击链接却显示无效无法激活,检查链接会发现链接地址后面多出一个>
邮箱识别错误,导致点击出错。
可以通过下面两种方法来解决。
第一种方法:
直接在主题函数:function.php中加入下面代码就可以了
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 = __('有人要求重设如下帐号的密码:'). "
"; $msg .= network_site_url() . "
"; $msg .= sprintf(__('用户名:%s'), $user_login) . "
"; $msg .= __('若这不是您本人要求的,请忽略本邮件,一切如常。') . "
"; $msg .= __('要重置您的密码,请打开下面的链接:'). "
"; $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-login.php
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">
";
改为
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') ;
在330行的样子
也就是把’<‘ .和. “> ”去掉,但是升级后修改会被替换,所以建议使用第一种方法。
第二种情况是在用户修改用户和重置密码的时候出现
解决办法
在网站的wp-includes文件夹中找到pluggable.php文件并打开
找到如下语句:
$message .= '<'network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login')">
" ;
改为
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "
";
就可以正常显示正确的链接了。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)