让wordpress支持邮箱登陆

其实,玩或者使用wordpress对于我们个人博客而言,其实还是很好的,主要最方便的莫过于能够很方便的收集邮箱了,最简单的映象就是wordpress和邮箱是紧密相联的,所以我就想使用一段函数让wordpress支持邮箱登陆,这样也不浪费资源了。

方法其实很简单,就是在当前模版的founctions.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(__('ERROR: There is no user registered with that email address.'), '用户名不正确');
    else
      return $user_data->user_login;
  }
  else {
    return $username;
  }
}
 
// 修改登录界面的文字,"用户名"改成"用户名或邮箱"
function ludou_change_text() {
  echo ''; } 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默认的登陆页面有效!

给TA赏糖
共{{data.count}}人
人已赏糖
技术分享

将wordpress安全防护做到极致

2023-12-21 13:43:28

技术分享

方舟生存进化 (ARK)Linux(CentOS) 开服,MOD安装,设置多通服务器

2023-12-21 17:25:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索