Здесь мы рассмотрим стандартные функции WordPress для работы с авторизацией пользователей на сайте и регистрации новых юзеров.
Авторизация и регистрация без плагинов
Чтобы добавить в любое место сайта форму авторизации пользователей используется функция Вордпресс wp_login_form($args), которую можно использовать без аргументов.
На сайте она создаст такую форму:
только без ссылки «Регистрация» внизу. Ее мы еще рассмотрим. Вы можете оформить эту форму как виджет в боковой колонке сайта.
Возможные параметры функции wp_login_form из официальной документации:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $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 ); ?> |
- echo — 1 (true), выводит результат на экран; 0 — не выводит, используется для записи результатов в переменную;
- redirect — можно указать адрес страницы, куда пользователь будет перенаправлен после авторизации;
- remember — запоминать ли значения;
Чтобы сделать ссылку на страницу регистрации нового пользователя используется функция WP wp_registration_url(), которая возвращает адрес страницы.
Например так:
1 |
<a href="<?php echo wp_registration_url(); ?>">Регистрация</a> |
После регистрации новый пользователь и администратор сайта получат уведомительное письмо по электронной почте.
Также нужно отметить возможность вывести ссылку на разлогинивание, что делается функцией wp_logout_url( $redirect ). В качестве параметра можно указать адрес страницы, куда пользователь попадет после разлогинивания.
Пример использования:
1 |
<a href="<?php echo wp_logout_url(home_url()); ?>">Выйти</a> |
Также может оказаться полезной функция, выводящая ссылку на восстановление пароля, если пользователь его утратил — wp_lostpassword_url( $redirect ). Параметр здесь также, как и в предыдущей функции, указывает на страницу, куда пользователь попадет после отправки ему нового пароля.
Пример использования функции:
1 |
<a href="<?php echo wp_lostpassword_url(); ?>">Забыли пароль?</a> |
Настройки регистрации в Вордпресс
Кроме того, нужно сделать настройки регистрации пользователей в административной панели (в «Общие»). Чтобы включить эту возможность нужно пометить галочку «Любой может зарегистрироваться» и установить определиться с ролью нового пользователя (обычно «Подписчик»). С помощью этих настроек вы можете в любой момент запретить новую регистрацию.