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 = __('有人要求重设如下帐号的密码:'). "rnrn"; $msg .= network_site_url() . "rnrn"; $msg .= sprintf(__('用户名:%s'), $user_login) . "rnrn"; $msg .= __('若这不是您本人要求的,请忽略本邮件,一切如常。') . "rnrn"; $msg .= __('要重置您的密码,请打开下面的链接:'). "rnrn"; $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') . ">rn";
改为
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') ;
在330行的样子
也就是把’<‘ .和. “>rn”去掉,但是升级后修改会被替换,所以建议使用第一种方法。
第二种情况是在用户修改用户和重置密码的时候出现
解决办法
在网站的wp-includes文件夹中找到pluggable.php文件并打开
找到如下语句:
$message .= '<'network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login')">rn" ;
改为
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "rnrn";
就可以正常显示正确的链接了。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END