wp_login_form()
Выводит HTML код формы авторизации (входа).
Возвращает
null|Строку
. Выводит на экран HTML код формы авторизации. Если указать параметр echo=0, то результат будет возвращен для дальнейшей обработки.
Шаблон использования
wp_login_form( array( 'echo' => true, 'redirect' => site_url( $_SERVER['REQUEST_URI'] ), 'form_id' => 'loginform', 'label_username' => __( 'Username' ), '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' => true, 'value_username' => NULL, 'value_remember' => false ) );
Использование
<?php wp_login_form( $args ); ?>
- $args(строка/массив)
- Массив аргументов, контролирующих результат.
По умолчанию: параметры по умолчанию
Аргументы параметра $args
- echo(логический)
- Вывести на экран (1) или возвратить (0).
По умолчанию: 1 - redirect(строка)
- УРЛ на который перекинет после авторизации.
По умолчанию: текущая страница - form_id(строка)
- id атрибут тега <form id="loginform">.
По умолчанию: 'loginform' - label_username(строка)
- Текст заголовка поля "имя пользователя".
По умолчанию: '__( 'Username' )' - label_password(строка)
- Текст заголовка поля "пароль".
По умолчанию: '__( 'Password' )' - label_remember(строка)
- Текст заголовка поля "запомнить меня".
По умолчанию: '__( 'Remember Me' )' - label_log_in(строка)
- Текст кнопки сабмита.
По умолчанию: '__( 'Log In' )' - id_username(строка)
- Значение атрибута id: <input id="user_login" />
По умолчанию: 'user_login' - id_password(строка)
- Значение атрибута id: <input id="user_login" />
По умолчанию: 'user_pass' - id_remember(строка)
- Значение атрибута id: <input id="user_login" />
По умолчанию: 'rememberme' - id_submit(строка)
- Значение атрибута id: <input id="user_login" />
По умолчанию: 'wp-submit' - remember(логический)
- Запомнить значения полей (1) или нет (0).
По умолчанию: 1 - value_username(строка)
- Имя пользователя по умолчанию.
По умолчанию: '' - value_remember(строка)
- Значение атрибута value, поля "запомнить меня". По умолчанию 1 - галочка отмечена. 0 - галочка снята.
По умолчанию: 1
Примеры
#1 Обычное отображение формы:
<?php wp_login_form(); ?>
Выведет на экран:
<form name="loginform" id="loginform" action="http://wp-kama.ru/wp-login.php" method="post"> <p class="login-username"> <label for="user_login">Логин</label> <input type="text" name="log" id="user_login" class="input" value="" size="20" tabindex="10" /> </p> <p class="login-password"> <label for="user_pass">Пароль</label> <input type="password" name="pwd" id="user_pass" class="input" value="" size="20" tabindex="20" /> </p> <p class="login-remember"><label><input name="rememberme" type="checkbox" id="rememberme" value="forever" tabindex="90" /> Запомнить меня</label></p> <p class="login-submit"> <input type="submit" name="wp-submit" id="wp-submit" class="button-primary" value="Войти" tabindex="100" /> <input type="hidden" name="redirect_to" value="http://wp-kama.ru/s" /> </p> </form>
#2 Оставить на той же странице при вводе неверного логина/пароля
По умолчанию, если в такую форму введен неверный логи, то пользователя перекинет на базовую страницу авторизации с указанием ошибки.
Чтобы это изменить и оставить пользователя на прежней странице, даже если он ввел неверные данные, можно использовать хук wp_login_failed:
## Оставляет пользователя на той же странице при вводе неверного логина/пароля в форме авторизации wp_login_form() add_action( 'wp_login_failed', 'my_front_end_login_fail' ); function my_front_end_login_fail( $username ) { $referrer = $_SERVER['HTTP_REFERER']; // откуда пришел запрос // Если есть referrer и это не страница wp-login.php if( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) { wp_redirect( add_query_arg('login', 'failed', $referrer ) ); // редиркетим и добавим параметр запроса ?login=failed exit; } }
#3 Форма регистрации WordPress
Для вывода формы регистрации, специальная функция не предусмотрена. Поэтому форму можно вывести написав свой HTML код. Вот пример такого HTML кода формы регистрации:
<form id="registerform" action="<?= esc_url( wp_registration_url() ) ?>" method="post"> <p> <label for="user_login"> Имя пользователя<br> <input type="text" name="user_login" id="user_login" class="input" value="" size="20" style=""> </label> </p> <p> <label for="user_email"> E-mail<br> <input type="email" name="user_email" id="user_email" class="input" value="" size="25"> </label> </p> <p id="reg_passmail">Подтверждение регистрации будет отправлено на ваш e-mail.</p> <br class="clear"> <input type="hidden" name="redirect_to" value=""> <p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="Регистрация"></p> </form>
Список изменений
С версии 3.0.0 | Введена. |
С версии 6.6.0 | Added required_username and required_password arguments. |