答案是:通过电子邮件禁用标准身份验证,并通过首先尝试查找电子邮件来更新用户名。
remove_filter( \'authenticate\', \'wp_authenticate_email_password\', 100 );
add_action(\'wp_authenticate\',\'login_verification\');
function login_verification($username) {
$username = sanitize_user( $username );
//check if this is an email
$user = get_user_by(\'email\',$username);
if(!empty($user->user_login)) {
$username = $user->user_login;
}
//else just leave as username
return $username;
}