Drop this code snippet into your theme’s functions.php file to enable user login with email address, and also change login page text to inform about this functionality.
// login with email add_action('wp_authenticate','email_login'); function email_login($user_name) { $user = get_user_by('email', $user_name); if(!empty($user->user_login)) $user_name = $user->user_login; return $user_name; } // Change 'Username' to 'Username or Email Address' on login page add_filter( 'gettext', 'login_text' ); add_filter( 'ngettext', 'login_text' ); function login_text( $translated ) { $translated = str_ireplace( 'Username', 'Username or Email Address', $translated ); return $translated; }
Login code via Bavota