Intereting Posts
Как редактировать файл функций темы для изменения разбивки на страницы? HTML, созданный WP Как полностью скрыть установку WordPress / BuddyPress? архив – {$ post_type} .php не загружается. вместо этого загружаются файлы по умолчанию archive.php Показать последнюю используемую таксономию на главной странице Невозможно сохранить или изменить пользовательскую таксономию по типу объекта страницы, но как только это возможно. Советы по устранению неполадок? Что такое функция php для «общего профиля пользователя», wp_mail () отправляет партиями из двух Удалить тег h2 в screen_reader_text Как избавиться от темы Ellipsis on Woocommerce Nonce продолжает терпеть неудачу Добавить платежные реквизиты в адрес электронной почты администратора Как установить шаблон возврата для пользовательского типа сообщения в плагине? Использование значений метаболизма WPAlchemy в другом метаболизме Как вставить пользовательскую функцию в wp_insert_post

Перенаправление после пустого имени пользователя и пароля

Я решил отобразить форму входа на первую страницу моего сайта WordPress. Если пользователь регистрируется успешно, он перенаправляется на определенную веб-страницу. Если он вводит неверный пароль, он снова перенаправляется на страницу входа в систему. Проблема возникает, когда кто-то не вводит имя пользователя и пароль: он перенаправляется на страницу входа в систему WordPress.

Как я могу перенаправить пустые логины пользователя на главную страницу входа?

это код, который я использую для перенаправления неудачных попыток:

add_filter('login_redirect', '_catch_login_error', 10, 3); function _catch_login_error($redir1, $redir2, $wperr_user) { if(!is_wp_error($wperr_user) || !$wperr_user->get_error_code()) return $redir1; switch($wperr_user->get_error_code()) { case 'incorrect_password': case 'empty_password': case 'invalid_username': default: wp_redirect(home_url()); // modify this as you wish } return $redir1; } 

Solutions Collecting From Web of "Перенаправление после пустого имени пользователя и пароля"

Проверьте наличие пустого пользователя в массиве $_REQUEST :

 if ( empty( $_REQUEST['user_login'] ) // && or || empty( $_REQUEST['user_pass'] ) return $redirect_to_whereever_you_want; 

Но этот фильтр опаздывает. Он вызывается после входа пользователя в систему. Вы должны использовать действие 'wp_authenticate' , это одно из самых ранних действий в процессе входа в систему:

 add_action( 'wp_authenticate', '_catch_empty_user', 1, 2 ); function _catch_empty_user( $username, $pwd ) { if ( empty( $username ) ) { wp_safe_redirect( $redirect_to_whereever_you_want ); exit(); } }