Created
July 2, 2014 23:27
-
-
Save mikeselander/8dd45410bd33be2bc29d to your computer and use it in GitHub Desktop.
On front-end login form, keep user from being re-directed to an admin login page when a field fails
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Keep a failed login attempt on the same page instead of re-directing to backend | |
* @access public | |
* @since 0.1.0 | |
*/ | |
add_action( 'wp_login_failed', 'my_front_end_login_fail' ); // hook failed login | |
function my_front_end_login_fail( $username ) { | |
$referrer = $_SERVER['HTTP_REFERER']; // where did the post submission come from? | |
if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) { | |
$pos = strpos($referrer, '?login=failed'); | |
if($pos === false) { | |
wp_redirect( $referrer . '?login=failed' ); // let's append some information (login=failed) to the URL for the theme to use | |
} | |
else { | |
wp_redirect( $referrer ); // already appeneded redirect back | |
} | |
exit; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment