• Добрый день!
    Реализовал собственную страницу авторизации. При первом вводе логина и пароль выдает ошибку «Имя пользователя или пароль пусты.». А со второго раза авторизация успешна. В чем может быть проблема?
    Высылаю код на самой странице

    <? $login = (isset($_GET['login'])) ? $_GET['login'] : 0; ?>
                    <? if (is_user_logged_in()): ?>
                        <p>Вы авторизованы!</p>
                    <? else: ?>
                        <form method="post" action="<?php echo wp_login_url(); ?>">
                            <div class="auth__input">
                                <input type="text" name="log" id="user_login" class="input" value="" size="20"
                                       autocapitalize="off" autocomplete="username" placeholder="Логин">
                            </div>
                            <div class="auth__input">
                                <input type="password" name="pwd" id="user_pass" class="input password-input" value=""
                                       size="20"
                                       autocomplete="current-password" placeholder="Пароль">
                            </div>
                            <div class="auth__button">
                                <input type="submit" name="wp-submit" value="войти">
                                <input type="hidden" name="redirect_to" value="/personal-area/"/>
                            </div>
                        </form>
                    <?php endif; ?>
                    <?
                    if ($login === "failed") {
                        echo '<p class="auth__login-msg"><strong>Ошибка:</strong> Неверное имя пользователя или пароль.</p>';
                    } elseif ($login === "empty") {
                        echo '<p class="auth__login-msg"><strong>Ошибка:</strong> Имя пользователя или пароль пусты.</p>';
                    } elseif ($login === "false") {
                        echo '<p class="auth__login-msg"><strong>Ошибка:</strong> Вы вышли из системы.</p>';
                    }
                    ?>

    Высылаю код в function.php

    function redirect_login_page()
    {
        $login_page = home_url('/authorization/');
        $page_viewed = basename($_SERVER['REQUEST_URI']);
        if ($page_viewed == "wp-login.php" && $_SERVER['REQUEST_METHOD'] == 'GET') {
            wp_redirect($login_page);
            exit;
        }
    }
    add_action('init', 'redirect_login_page');
    
    function login_failed()
    {
        $login_page = home_url('/authorization/');
        wp_redirect($login_page . '?login=failed');
        exit;
    }
    add_action('wp_login_failed', 'login_failed');
    
    function verify_username_password($user, $username, $password)
    {
        $login_page = home_url('/authorization/');
        if ($username == "" || $password == "") {
            wp_redirect($login_page . "?login=empty");
            exit;
        }
    }
    add_filter('authenticate', 'verify_username_password', 1, 3);
    
    function logout_page() {
        $login_page  = home_url( '/authorization/' );
        wp_redirect( $login_page . "?login=false" );
        exit;
    }
    add_action('wp_logout','logout_page');

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 1 ответа (всего 1)
Просмотр 1 ответа (всего 1)
  • Тема «Авторизация со второй попытки» закрыта для новых ответов.