wp_login_form() — Создание формы входа

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

1-й способ.
Добавьте этот php-код в то место, где хотите вставить форму:

wp_login_form( $args );

Всего-то одна функция. А теперь параметры:

$args = array(
	'echo' => true,
	'redirect' => site_url( $_SERVER['REQUEST_URI'] ), 
	'form_id' => 'loginform',
	'label_username' => 'Логин',
	'label_password' => 'Пароль',
	'label_remember' => 'Запомнить меня',
	'label_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
);

Если вы хотя бы чуть-чуть знаете html и пару английских слов, то трудностей с пониманием не возникнет. Вообще все эти настройки необязательны, можно спокойно использовать функцию без параметров.

Пожалуй я всё-таки опишу некоторые из переменных.

redirect — указывает, на какую страницу перенаправить пользователя после того, как он залогинился. По умолчанию: текущая страница.

label_log_in — текст кнопки.

remember — нужно ли запоминать значения полей.

value_username — имя пользователя (логин) по умолчанию.

value_remember — значение чекбокса «Запомнить меня».

2-й способ.
Создание формы входа на html.

<form name="loginform" id="loginform" action="<?php bloginfo('url') ?>/wp-login.php" method="post"> 
<label>Логин<br /> 
<input type="text" name="log" id="user_login" /></label> 
<label>Пароль<br /> 
<input type="password" name="pwd" id="user_pass" /></label> 
<label><input name="rememberme" type="checkbox" id="rememberme" value="forever" /> Запомнить меня</label>
<input type="submit" name="wp-submit" id="wp-submit" value="Войти" /> 
<input type="hidden" name="redirect_to" value="<?php bloginfo('url') ?>/wp-admin/" /> 
<input type="hidden" name="testcookie" value="1" />
</form>

Возможно такой способ вам будет удобнее.

Обратите внимание на скрытое поле redirect_to — оно аналогично параметру redirect в
1-м способе, в атрибуте value укажите страницу, на которую хотите редиректить пользователя после входа на сайт.

Комментарии 7

  • login20307 марта 2013 в 20:03 #

    спасибо, пригодился ваш второй способ, но вот такая еще проблемка осталась, если ввести неправильные данные в авторизацию и нажать "ввод" то кидает на стандартную форму регистрации..уже бестолковку(в плане сайтостроения) свою сломал в борьбе с этим вопросом

    • Миша8 марта 2013 в 06:03 #

      там надо использовать событие

      $('#form').submit(function(){
       
      });

      но к сожалению это не на всех браузерах работает так, как хотелось бы

  • Александра24 ноября 2014 в 18:11 #

    Здравствуйте. Подскажите пожалуйста, может сталкивались с таким. По каким причинам может не работать функция "Запомнить меня"? Форму создавала уже разными способами: и php, и html, даже ставила сторонний плагин. И хоть ты тресни - не запоминает ни одно поле. Даже не знаю, в какую сторону капать((

    • Миша25 ноября 2014 в 07:11 #

      Здравствуйте!
      Если вы говорите про функцию «Запомнить меня» при авторизации на сайте, то она и не должна запоминать поля, она лишь запоминает пользователя, чтобы, при входе в админку, не приходилось каждый раз по новой вводить логин и пароль.

  • Дмитрий14 марта 2017 в 02:03 #

    А можно ли скрыть чекбокс "Запомнить меня" через функцию в functions.php ?

    • Миша15 марта 2017 в 08:03 #

      У меня возможно статья не совсем корректно написана — очень давно это было. Попробуйте передать в функцию wp_login_form() параметр remember равный false.

      Если вы имели ввиду именно стандартную форму входа WordPress, то ответ — нет, нельзя.

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...