Форма авторизации и ссылки в 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мотрите другие статьи: