Здесь мы рассмотрим стандартные функции WordPress для работы с авторизацией пользователей на сайте и регистрации новых юзеров.
Авторизация и регистрация без плагинов
Чтобы добавить в любое место сайта форму авторизации пользователей используется функция Вордпресс wp_login_form($args), которую можно использовать без аргументов.
На сайте она создаст такую форму:
только без ссылки “Регистрация” внизу. Ее мы еще рассмотрим. Вы можете оформить эту форму как виджет в боковой колонке сайта.
Возможные параметры функции wp_login_form из официальной документации:
<?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(), которая возвращает адрес страницы.
Например так:
<a href="<?php echo wp_registration_url(); ?>">Регистрация</a>
После регистрации новый пользователь и администратор сайта получат уведомительное письмо по электронной почте.
Также нужно отметить возможность вывести ссылку на разлогинивание, что делается функцией wp_logout_url( $redirect ). В качестве параметра можно указать адрес страницы, куда пользователь попадет после разлогинивания.
Пример использования:
<a href="<?php echo wp_logout_url(home_url()); ?>">Выйти</a>
Также может оказаться полезной функция, выводящая ссылку на восстановление пароля, если пользователь его утратил – wp_lostpassword_url( $redirect ). Параметр здесь также, как и в предыдущей функции, указывает на страницу, куда пользователь попадет после отправки ему нового пароля.
Пример использования функции:
<a href="<?php echo wp_lostpassword_url(); ?>">Забыли пароль?</a>
Настройки регистрации в Вордпресс
Кроме того, нужно сделать настройки регистрации пользователей в административной панели (в “Общие”). Чтобы включить эту возможность нужно пометить галочку “Любой может зарегистрироваться” и установить определиться с ролью нового пользователя (обычно “Подписчик”). С помощью этих настроек вы можете в любой момент запретить новую регистрацию.