Skip to content

Instantly share code, notes, and snippets.

@mikeselander
Created July 2, 2014 23:27
Show Gist options
  • Save mikeselander/8dd45410bd33be2bc29d to your computer and use it in GitHub Desktop.
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
/**
* 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