×

让WordPress支持用Email登录

优畅主题 Wordpress技术 2013-06-21 15:28 3,342 0 条评论

默认状态下,WordPress登录页面只支持使用用户名进行登录。如果想让用户用Email也可以登录,那就将以下代码复制到当前主题的functions.php中:

// 修改WordPress用户名过滤机制,通过Email获取用户名
function ludou_allow_email_login($username, $raw_username, $strict) {
 if (filter_var($raw_username, FILTER_VALIDATE_EMAIL)) {
 $user_data = get_user_by('email', $raw_username);
 
 if (empty($user_data))
 wp_die(__('<strong>ERROR</strong>: There is no user registered with that email address.'), '用户名不正确');
 else
 return $user_data->user_login;
 }
 else {
 return $username;
 }
}

// 修改登录界面的文字,"用户名"改成"用户名或邮箱"
function ludou_change_text() {
 echo '<script type="text/javascript">
 var user_login_node = document.getElementById("user_login");
 var old_username_text = user_login_node.parentNode.innerHTML;
 user_login_node.parentNode.innerHTML = old_username_text.replace(/用户名/, "用户名或邮箱");
 </script>';
}

if (in_array($GLOBALS['pagenow'], array('wp-login.php')) && strpos($_SERVER['REQUEST_URI'], '?action=register') === FALSE && strpos($_SERVER['REQUEST_URI'], '?action=lostpassword') === FALSE && strpos($_SERVER['REQUEST_URI'], '?action=rp') === FALSE ) {
 add_filter('sanitize_user', 'ludou_allow_email_login', 10, 3);
 add_action('login_footer', 'ludou_change_text');
}

注意:以上代码只对登录页面有效,效果如下:

让WordPress支持用Email登录

 

本文转此:http://www.ludou.org/wordpress-login-with-usernam-or-email.html


如果本文对你有帮助,你可以扫描右边的二维码打赏,谢谢支持
联系优畅:uctheme#qq.com (#改为@)
微信订阅号:优畅主题(uctheme)
官网淘宝店:http://uctheme.taobao.com
版权声明:版权归 优畅主题 所有,转载请注明出处!
转载请保留链接: https://www.uctheme.com/technical/314.html
谢谢支付宝打赏
谢谢微信打赏

品牌创立:2012-11-18优畅主题

优畅主题成立于2012年11月18日,专业Wordpress导购主题开发商,拥有多年Wordpress主题设计经验,专门为淘宝客和导购客站长量身打造高端赚钱模板,我们注重细节,有着严谨的开发态度,一切从客户角度出发,如果你也喜欢 WordPress导购主题,欢迎和我们一起交流!


4 + 1 = ?

目前还没有评。

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册