Я создал шаблон для входа с помощью функции wp_login_form()
.
Теперь, если пользователь вводит неверный пароль или имя пользователя, он перенаправляет меня на ту же страницу с аргументом login=failed
со следующим кодом:
add_action( 'wp_login_failed', 'front_end_login_fail' );
function front_end_login_fail( $username ) {
$_SESSION['uname'] = $username;
// Getting URL of the login page
$referrer = $_SERVER['HTTP_REFERER'];
$login_failed_error_codes = array( 'empty_password', 'empty_email', 'invalid_email', 'invalidcombo', 'empty_username', 'invalid_username', 'incorrect_password' );
// if there a valid referrer, and it not the default log-in screen
if( !empty( $referrer ) && !strstr( $referrer,'wp-login' ) && !strstr( $referrer,'wp-admin' ) ) {
wp_redirect( get_permalink( 93 ) . "?login=failed" );
exit;
}
}
СЕЙЧАС эта функция работает нормально, но теперь согласно Wordpress, которые обеспечивают следующее:
1.Если пользователь вводит имя пользователя true, но неправильный пароль, он будет показывать ошибку как "неправильный_пароль"
2.Если пользователь вводит false имя пользователя, но true, он будет показывать ошибку как "invalid_username"
3.Если пользователь вводит неправильное имя пользователя, но неправильный пароль, он будет показывать ошибку как "invalidcombo"
Добавьте так, пожалуйста, проверьте переменную $login_failed_error_codes в коде... Я сделал некоторый поиск. У меня есть класс под названием "WP_error". Но я не знаю, как он работает с этим кодом.
Я просто застрял в том, как передать объект WP_error из wp-login.php в мой шаблон csutom?
Спасибо... любая помощь была бы apapiciable.