众所周知,wordpress的登录页面只能使用用户名登录,除非安装了多说评论那样的社会化插件,才能让wordpress增加社会化登录功能。不过除了社会化登录,用户最习惯的应该是使用email邮箱登录吧。通常人们会很容易忘记自己注册网站时的用户名,但注册时用的邮箱却忘不掉,你会不会有同感呢?这样的话,我们不妨给wordpress增加一个使用email登录的功能。
这项功能不仅方便于容易忘事的wordpress站长,最重要的是能够大大提升会员制wordpress网站的用户体验。如果想让用户用Email也可以登录wp网站,那就将以下代码复制到当前主题的functions.php中。代码来自低调的wp高手露兜博客。
// 修改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 (emptyempty($user_data)) wp_die(__('<strong>ERROR</strong>: There is no user registered with that email address.'), '用户名不正确'); else return sanitize_user($user_data->user_login, $strict); } 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博客/企业建站开发经验,独树一帜的设计,提供最专业的网站设计方案;原创的主题标签语义化,增强网站优化效果。
增强用户体验、提高品牌形象给人留下深刻的印象,那就选择我们,我们的每一款主题都是独一无二的,都有自己的灵魂,每款主题都有各自的配色方案。
遵循现代网页设计的趋势,所有主题都提供完整的响应式布局,优化大桌面显示器以及对平板和智能手机的支持,从而提供一致性的用户体验。
长期及时地在线售后服务和免费升级更新,确保您的网站始终运行在最佳状态,24小时QQ在线的沟通方式免去您的后顾之忧,替您节省网站维护成本。
目前还没有评。