Are you looking for a way to redirect failed login attempts to any location on your website? While there’s probably a plugin for this, we have created a quick code snippet that you can use to redirect failed login attempts to any location in WordPress.
Instructions:
All you have to do is add this code to your theme’s functions.php file or in a site-specific plugin:
add_action( 'wp_login_failed', 'my_front_end_login_fail' ); function my_front_end_login_fail( $username ) { $referrer = $_SERVER['HTTP_REFERER']; if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) { wp_redirect( $referrer . '?login=failed' ); exit; } }
Note: If this is your first time adding code snippets in WordPress, then please refer to our guide on how to properly add code snippets in WordPress, so you don’t accidentally break your site.
If you liked this code snippet, please consider checking out our other articles on the site like: 43 best photography themes for WordPress and how to create a contact form in WordPress.
Hi,
I want to ask that after adding this codesnippet in wordpress i am unable to access my default wp-admin login page. Can you guide me how i can access my default wp-admin login?
Hi,I am using woocommerce account as my login page can you tell me a way i can block the user based on username when he fails to login 3 instead of blocking the ip address?
Try adding the Wordfence plugin
Is this snippet still working? Because my failed logins are still redirecting to wp-login.php
I am on WordPress 5.0.3
Thank you so much! I have been looking everywhere for something like this.
I do have 2 questions, is it possible to add a redirect for when the user leaves the fields empty? and how can I return a incorrect login error message?
thanks again!
Hi Eric, The following should help,
User controlled
http://wpsnipp.com/index.php/functions-php/user-controlled-optional-login-redirect/
Redirect back to referring page
http://wpsnipp.com/index.php/functions-php/redirect-back-to-referring-page-after-login/
Add a custom message to the login screen
http://wpsnipp.com/index.php/functions-php/add-a-custom-message-to-the-login-screen/
Thanks after so many snippet I tried and this one works. but now stuck with redirect on my page. I mean its redirecting to the last page but I want to notify my user that they have entered wrong userid or password. How to display that message? or may be redirect to my custom page.
Redirect to a custom page would work best I think,
Yeh I am fine with that but how to redirect? I am not master with php so don’t know where should I put my url for that page?
Line 5 is the redirect,
wp_redirect( $referrer . ‘?login=failed’ );
http://codex.wordpress.org/Function_Reference/wp_redirect
This page has more details on the function wp_reidrect.
Alright! done. Thanks a lot for your instant help.
One more thing why your last comment doesn’t have reply link?
Glad to hear you got things working Great stuff. In regards to your comments question this is just the level of nested comments I allow. Since eventually it would nest so far we could barely read comments anymore 🙂