繁体   English   中英

Wordpress 将身份验证从用户名更改为电子邮件

[英]Wordpress change Autentication From username to email

我必须如何或在哪里编辑 wordpress 以使用电子邮件而不是用户名进行用户身份验证(因为它是默认设置)

这应该有效,将其添加到functions.php文件中:

// remove the default filter
remove_filter( 'authenticate', 'wp_authenticate_username_password', 20, 3 );
// add custom filter
add_filter( 'authenticate', 'fb_authenticate_username_password', 20, 3 );
function fb_authenticate_username_password( $user, $username, $password ) {

// If an email address is entered in the username box, 
// then look up the matching username and authenticate as per normal, using that.
if ( ! empty( $username ) )
    $user = get_user_by( 'email', $username );

if ( isset( $user->user_login, $user ) )
    $username = $user->user_login;

// using the username found when looking up via email
return wp_authenticate_username_password( NULL, $username, $password );
}

(以上是在这里找到的,我对其进行了测试并为我工作)

编辑:如果您不想修改函数文件,插件也能正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM