Intereting Posts
Создайте раскрывающийся список с настраиваемыми типами сообщений в качестве опции в admin Локальная ошибка Multisite Redirect Журнал доступа «POST /wp-login.php HTTP / 1.0» 400 Какой фильтр / действие запускается после запроса? Как я могу получить значение по умолчанию для каждой страницы? из настроек -> чтение. И общее количество сообщений? Изменение Woocommerce SINGLE: Заголовок PRODUCTpage wp_list_categories: упорядочивать заказ? Как включить форму для WP_Filesystem ()? Как создать комментарий для пользователей из разных доменов Как создать страницу пользовательского архива с помощью цикла Могу ли я прикрепить изображение к сообщению, не добавляя его в сообщение? Отладка, почему избранные изображения перестали отображаться в WooCommerce на главной странице Динамически зависимые раскрывающиеся списки для категорий, подкатегорий и сообщений Эхо-строка в действии transition_post_status приводит к тому, что «невозможно изменить информацию заголовка – заголовки, уже отправленные» Запрос нескольких пользовательских полей WordPress с помощью идентификатора AND

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

Я решил отобразить форму входа на первую страницу моего сайта 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; } 

Проверьте наличие пустого пользователя в массиве $_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(); } }