Форма авторизации и ссылки в WordPress

Практически каждая современная система управления сайтом имеет встроенный набор функций и компонентов для регистрации и авторизации. Аналогично и WordPress имеет несколько полезных функций для этого.

В этой статье мы лишь поверхностно рассмотрим тему авторизации и управления её: функции для вывода ссылок и формы. Не будем вдаваться в подробности форм и скриптов-обработчиков. А именно, рассмотрим следующие функции:
  • wp_login_form - выводит HTML формы авторизации
  • wp_register - выводит ссылку на раздел администрирования для авторизованных и ссылку для регистрации неавторизованным пользователям
  • wp_loginout - выводит ссылку "входа" для неавторизованных и "выхода" для авторизованных пользователей
  • wp_logout_url - возвращает адрес страницы для выхода с сайта
  • wp_login_url - возвращает адрес страницы с формой авторизации
  • wp_registration_url - возвращает адрес страницы с формой регистрации

Вывод формы для авторизации/регистрации

Функция "wp_login_form" выводит форму для авторизации и регистрации. У функции есть только один аргумент, в который необходимо передавать массив с параметрами:
wp_login_form( $args );
Рассмотрим ключи и значения массива "$args":
Название Тип Описание
echo логический Выводить или нет на экран. По умолчанию: true
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 логический Запоминать ли введённые значения полей. По умолчанию: true (запоминать)
value_username строка Предустановленное имя пользователя. По умолчанию: ''
value_remember строка Значение атрибута value поля "запомнить меня". По умолчанию 1 - галка стоит. 0 - галочка не стоит. По умолчанию: 1
Приведём пример использования этой функции:
$args = 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 
);
wp_login_form( $args );

Вывод формы для авторизации/регистрации

Одной из востребованных функций WordPress является "wp_register". Эта функция выводит ссылку на панель администрирования для авторизованных пользователей и ссылку на форму регистрации для неавторизованных. Ссылка выводится с обрамлением в виде тегов, которые можно переопределить через аргументы. Рассмотрим функцию и аргументы подробнее:
wp_register( $before, $after, $echo );
Название Тип Описание
$before строка Текст до ссылки. По умолчанию: <li>
$after строка Текст после ссылки. По умолчанию: </li>
$echo логический Распечатывать ли ссылку или возвращать HTML код в переменную для дальнейшей обработки. По умолчанию: true (распечатывать)
Как можно догадаться из описания параметров, чтобы распечатать чистую HTML ссылку достаточно выполнить такой код (первый и второй аргумент равны пустой строке):
wp_register('', '');

Ссылка для входа и выхода

Функция "wp_loginout" выводит ссылку для "входа" для неавторизованных пользователей и "выхода" для авторизованных. У функции есть всего два аргумента:
wp_loginout( $redirect, $echo );
Название Тип Описание
$redirect строка Адрес страницы, куда надо перейти после входа или выхода. По умолчанию: "" (пустая строка)
$echo логический Распечатывать ли ссылку или возвращать HTML код в переменную для дальнейшей обработки. По умолчанию: true (распечатывать)

Ссылка для регистрации, входа и выхода

Чтобы не запоминать адреса страниц для входа/ выхода и регистрации на сайте, можно воспользоваться тремя функциями. Обсудим их.

Для получения адреса страницы с формой авторизации используйте функцию "wp_login_url". Эта функция распечатает ссылку для входа. Если пользователь кликнет на неё, то он попадёт на форму авторизации "/wp-login.php" :
wp_login_url( $redirect, $force_reauth );
У функции есть два параметра:
Название Тип Описание
$redirect строка Адрес страницы, куда надо отправить пользователя после выхода. По умолчанию: "" (та же самая страница)
$force_reauth логический Нужно ли сделать принудительную переавторизацию, даже если куки авторизации уже установлены). По умолчанию: false (не нужно)
Пример использования:
<a href="<?php echo wp_login_url(); ?>" title="Войти">Войти</a>
Чтобы получить адрес страницы для выхода с сайта используйте функцию "wp_logout_url". Эта функция распечатает ссылку для выхода. Если пользователь кликнет на неё, то он выйдет из своей учётной записи:
wp_logout_url( $redirect );
У функции есть два параметра:
Название Тип Описание
$redirect строка Адрес страницы, куда надо отправить пользователя после выхода. По умолчанию: "" (та же самая страница)
Пример использования:
<a href="<?php echo wp_logout_url(); ?>" title="Выйти">Выйти</a>
Последней в этой статье мы обсудим функцию "wp_registration_url", которая возвращает адрес страницы с формой регистрации:
wp_registration_url();
У этой функции нет аргументов. Она лизвращает строку, URL адрес страницы ("wp-login.php?action=register"). Функция будет возвращать ссылку даже если пользователь уже авторизован.

Пример использования функции:
<a href="<?php echo wp_registration_url(); ?>">Форма регистрации</a>
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб