WordPress网站定制开发专家
WordPress企业主题特惠

赞一个 0

对于WordPress CMS类型的站点来说,允许用户注册登录是常见的网站功能,如今使用Email登录网站已经是常见的功能,然而,WordPress在默认状态下,只支持使用用户名进行登录。今天我们就介绍一种使得WordPress允许用户使用注册Email登录的方法。

WordPress支持用Email登录

将以下代码复制到当前主题的 functions.php 文件夹中即可实现:

// 修改WordPress用户名过滤机制,通过Email获取用户名
function wpyou_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’, ‘wpyou_email_login’, 10, 3);
add_action(‘login_footer’, ‘ludou_change_text’);
}

 

上一篇:

下一篇:

在线评论

在线客服
在线客服关闭
WPYOU官方微信

扫码关注官方微信