Recently, one of our users asked us how they can disable the login with email feature introduced in WordPress 4.5.
This feature allows users to log in with a username or email address in the login form.
In this article, we will show you how to disable login with email address feature in WordPress.
Why Disable Login With Email in WordPress?
Some users believe that email addresses are more common knowledge than a username. If you send an email to someone, then they already know your email address.
If someone wants to break into your WordPress site, knowing an email address could potentially make it easier for them to break in by guessing your password or hacking your email account.
We don’t believe that using an email address to log in makes a WordPress site any less secure. You can always add more security layers like password protecting WordPress admin directory, and adding two-step verification.
For WordPress security, we use Sucuri on all our sites. See how Sucuri helped us block 450,000 WordPress attacks in 3 months
Having said that, we understand that some users may still want to disable login with email feature on their WordPress sites. Let’s see how you can easily do that.
- Method 1. Disable Login with Email in WordPress using Code (Recommended)
- Method 2. Disable Login with Email in WordPress using a Plugin
Method 1. Disable Login with Email in WordPress using Code (Recommended)
This method requires you to add code to your WordPress files. If you haven’t done that before, see our guide to pasting snippets from the web into WordPress.
remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
To make it even easier, you can use WPCode, the best code snippets plugin for WordPress.
WPCode has a built-in library that has ready-to-use code snippets for all of the most popular WordPress feature requests including disable login with email, remove WordPress version number, disable comments, and more.
The best part is that you don’t need to edit your theme’s functions.php file at all.
Once the plugin is activated, go to Code Snippets » Library from your WordPress admin dashboard.
Next, search for the ‘Disable Login by Email’ snippet and click on the ‘Use snippet’ button.
Then, WPCode will automatically add the code snippet and select the proper insertion method.
All you need to do is toggle the switch from ‘Inactive’ to ‘Active.’
Then, click the ‘Update’ button.
This will not change anything on the login page and users will still see that they can log in using either username or email address. But if they enter the email address to log in, it will give them an invalid username error.
Method 2. Disable Login With Email in WordPress using a Plugin
You can also disable the login with email feature with a single-use plugin.
The plugin works out of the box, and there are no settings for you to configure. Simply visit the login screen of your WordPress site and try login in with your email address.
You will get an invalid username error. The plugin will also change the label ‘Username or Email address’ to simply ‘Username.’
That’s all, we hope this article helped you disable login with email address feature in WordPress. You may also want to see our guide on how to disable login hints in WordPress login error messages and our picks for the best WordPress login page plugins.