Задать вопрос
@alexiusgrey

Как показать ошибки в форме входа?

Форма входа из ядра, но на кастомной странице
<?php
        $args = array(
        'echo' => true,
        'redirect' => site_url( $_SERVER['REQUEST_URI'] ), 
        'form_id' => 'loginform',
        'label_username' => __( "Nom d'utilisateur ou email" ),
        'label_password' => __( 'Password' ),
        'label_remember' => __( 'Remember Me' ),
        'label_log_in' => __( 'Log In' ),
        'id_username' => 'user_login',
        'id_password' => 'user_pass',
        'id_remember' => 'rememberme',
        'id_submit' => 'wp-submit',
        'remember' => false,
        'value_username' => NULL,
        'value_remember' => false ); 

wp_login_form( $args );?>

Релиректы, чтобы при входе и выходе оставаться на той же странице
add_action('wp_logout','auto_redirect_after_logout');

function auto_redirect_after_logout(){
  wp_safe_redirect( home_url('/ebibliotheque/') );
  exit;
}

function wpdocs_my_login_redirect( $url, $request, $user ) {
    if ( $user && is_object( $user ) && is_a( $user, 'WP_User' ) ) {       
            $url = home_url( '/ebibliotheque/' );        
    }
    return $url;
} 
add_filter( 'login_redirect', 'wpdocs_my_login_redirect', 10, 3 );

add_action( 'wp_login_failed', 'my_front_end_login_fail' );
function my_front_end_login_fail( $username ) {
     $referrer = $_SERVER['HTTP_REFERER'];
     if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin')     ) {
          wp_redirect( $referrer . '?login=failed' );
          exit;
     }
}

До того, как добавить последний редирект, переносило при введении неправильного пароля на wp-login.php.
Сейчас не переносит, но мне нужно показывать ошибки, что неверный логин или пароль. Сейчас ссылка превращается в site.com/ebibliotheque/?login=failed, но ошибок вообще нет. Если форма из ядра, то можно как-то и ошибки показать из ядра? Как прописать их?
  • Вопрос задан
  • 40 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы