无需插件 让WordPress支持用户名或邮箱登录

允许你的WordPress站点通过用户名或邮箱登录,是提高用户体验的好方法,毕竟很多时候,用户不太记得自己注册的用户名。同时我们还要将默认的“用户名”修改为“用户名/邮箱”提示用户:
将下面的代码添加到当前主题的 functions.php 文件即可

  1. //让WordPress支持用户名或邮箱登录  
  2. function dr_email_login_authenticate( $user$username$password ) {  
  3.     if ( is_a$user, 'WP_User' ) )  
  4.         return $user;  
  5.    
  6.     if ( !emptyempty$username ) ) {  
  7.         $username = str_replace( '&', '&', stripslashes$username ) );  
  8.         $user = get_user_by( 'email', $username );  
  9.         if ( isset( $user$user->user_login, $user->user_status ) && 0 == (int) $user->user_status )  
  10.             $username = $user->user_login;  
  11.     }  
  12.    
  13.     return wp_authenticate_username_password( null, $username$password );  
  14. }  
  15. remove_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 );  
  16. add_filter( 'authenticate', 'dr_email_login_authenticate', 20, 3 );  
  17.    
  18. //替换“用户名”为“用户名 / 邮箱”  
  19. function username_or_email_login() {  
  20.     if ( 'wp-login.php' != basename$_SERVER['SCRIPT_NAME'] ) )  
  21.         return;  
  22.    
  23.     ?><script type="text/javascript">  
  24.     // Form Label  
  25.     if ( document.getElementById('loginform') )  
  26.         document.getElementById('loginform').childNodes[1].childNodes[1].childNodes[0].nodeValue = '<?php echo esc_js( __( '用户名/邮箱', 'email-login' ) ); ?>';  
  27.    
  28.     // Error Messages  
  29.     if ( document.getElementById('login_error') )  
  30.         document.getElementById('login_error').innerHTML = document.getElementById('login_error').innerHTML.replace( '<?php echo esc_js( __( '用户名' ) ); ?>', '<?php echo esc_js( __( '用户名/邮箱' , 'email-login' ) ); ?>' );  
  31.     </script><?php  
  32. }  
  33. add_action( 'login_form', 'username_or_email_login' );  

如果你不喜欢折腾代码,可以下载安装 WP Email Login 插件。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 WP技术 无需插件 让WordPress支持用户名或邮箱登录 https://www.mbxzb.com/blog/file/wordpress/8392.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

无需插件 让WordPress支持用户名或邮箱登录-海报

分享本文封面