纠正全网不合理的WordPress 密码重置Bug解决方案
2020/04/16
WordPress 密码重置Bug已存在一段时间了,一直都没有纠正(很疑惑)。这个Bug就是在我们点击密码重置的时候,输入正确的电子信箱或用户名,会给用户邮箱发送一个密码重置的链接。但是会出现一个提示,就是重置错误,如下图:
这个原因就是发送的链接把“>”这个尖括号做成了链接地址中,这个bug貌似个大乌龙。对应的办法就是去掉链接中的“>“。网上的办法是:
修改wp-login.php文件:找到语句:$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”;
很显然这个方法不可取,因为修改了Wordpress核心文件,一旦更新,有可能会需要重新设置。
正确的方法是:
1、在后台,外观-主题编辑;
2、找到functions.php,点开。
3、把下面的代码放进去:
add_filter( 'wp_mail','remove_tags' );
function remove_tags( $args ){
$args['message'] = str_replace( '<', '', $args['message'] );
$args['message'] = str_replace( '>', '', $args['message'] );
return $args;
}
现在happy吧
这个bug真是有些年代了……
老站长都碰到过这个问题的。