为何要让WordPress使用邮箱登录?
在WordPress中,默认是使用用户名登录的,但是在某些特殊情况下,不允许用户自定义用户名,那么邮箱登录就变得很重要了。本文讲述如何通过WordPress钩子添加邮箱登录功能。
邮箱登录的解决思路
通过 authenticate
钩子判断是邮箱的话就通过邮箱取到用户名,然后使用用户名登录。
//添加邮箱登录 function email_login_authenticate( $user, $username, $password ) { if ( is_a( $user, 'WP_User' ) ){ return $user; } if ( !empty( $username ) && is_email( $username ) ) { $username = str_replace( '&', '&', stripslashes( $username ) ); $user = get_user_by( 'email', $username ); if ( isset( $user, $user->user_login, $user->user_status ) && 0 == (int) $user->user_status ) $username = $user->user_login; } return wp_authenticate_username_password( null, $username, $password ); } remove_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 ); add_filter( 'authenticate', 'email_login_authenticate', 20, 3 );
赞赏
历史上的文章
- 2019: tinection主题实现导航条下滑自动隐藏方法( 3)
- 2019: WordPress如何自定义一个post_type,reviwe重写链接( 0)
- 2017: MYSQL 批量替换某张表某字段里面的内容( 0)
除特别注明外,本站文章均采用BY-NC-SA协议授权,转载请注明来自:https://www.ljy2345.com/2016/02/2196/
Comments | NOTHING