Создание формы входа на wordpress

Добрый вечер, любители cms wordpress. Так как наша с вами любимая цмска активно развивается, то на ней можно уже делать не только блоги, но и небольшие порталы. Каждому порталу необходимы такие функции, как страница регистрации, добавление новостей с сайта зарегистрированными пользователями и форма входа. О том, как сделать форму входа на wordpress, я решил рассказать в этой статье.

Создание формы входа на wordpress

Итак, проблема поставлена: нужно создать форму входа на сайт, причём она должна быть видна непосредственно с сайта.

Что мы знаем о нашей проблеме? Мы знаем, как должна выглядеть эта форма:

<form name="loginform" id="loginform" action="http://hixon.ru/wp-login.php" method="post">
	<p>
		<label for="user_login">Имя пользователя<br>
		<input type="text" name="log" id="user_login" class="input" value="" size="20" tabindex="10"></label>
	</p>
	<p>
		<label for="user_pass">Пароль<br>
		<input type="password" name="pwd" id="user_pass" class="input" value="" size="20" tabindex="20"></label>
	</p>
	<p class="forgetmenot"><label for="rememberme"><input name="rememberme" type="checkbox" id="rememberme" value="forever" tabindex="90"> Запомнить меня</label></p>
	<p class="submit">
		<input type="submit" name="wp-submit" id="wp-submit" class="button-primary" value="Войти" tabindex="100">
		<input type="hidden" name="redirect_to" value="http://hixon.ru/wp-admin/">
		<input type="hidden" name="testcookie" value="1">
	</p>
</form>

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

В связи с этими минусами, я предлагаю вам два способа вывода формы входа на wordpress сайтах. Во-первых, можно написать самим код, взяв за основу тот, что я привел выше. Я несколько раз это делал — там придется использовать несколько функций вордпресса и немного помучатся с тем, чтобы, если пользователь вышел со страницы http://site.com/a.php, то он на неё и возвращался.

Во-вторых, можно использовать готовый плагин, в котором убраны все минусы, о которых я говорил выше. Плагинов, которые добавляют форму входа — много, но, на мой взгляд, самым лучшим является плагин Sidebar Login.

После установки этого плагина, в настройках вы сможете выбрать, куда будет перенаправляться человек, когда зайдёт с помощью формы, с генерированной плагином. Также плагин позволяет прямо из админки отредактировать label формы и прочие подсказки.

Однако, если вы решите написать свою форму входа для wordpress, и у вас возникнут вопросы по редиректам, пишите их в комментарии, я выложу свой код. Впрочем, пишите любые вопросы, я обязательно на них отвечу.

Категории: wordpress

Метки: ,


  • Сеомонстр

    Большое спасибо автору! я давно искал подобный плагин! и еще раз спасибо!

  • Ruslan

    Попробуйте вот этот вариант всё как у вас, только когда вводишь логин и пароль вы остаётесь на сайте (тоесть не переходите в админку) на той странице на которой были в данный момент. И После того как авторизовались форма ввода логина и пароля заменяется на управление профилем переходом в админку короче тут уже можно изменить на ваше усмотрение какие пункты оставить, какие убрать.

    • Сюда govnokod.com можно код залить, например.

  • Ruslan

    блин вордпресс порезал мой код

  • Натали

    Спасибо огромное за плагин!

  • login2030

    Вот у меня вопрос, если допустим юзер неправильно заполнил поля авторизации и нажал кнопку «войти», то его кидает на стандартную страницу регистрации и уже там пишет ошибку. А как бы сделать так, чтобы это самая ошибка выскакивала прям на сайте? Не поделитесь наработками?

    • К сожалению, у меня на сайте у самого есть такая проблема. Самый простой вариант, думаю, такой:
      1) пользователь вводить логин и пароль, жмёт кнопку войти
      2) делаем с помощью ajax запрос на сервер, там проверяем корректность введенных данных
      3) на основе ответа либо пускаем пользователя на сайт, либо говорим, что в данных есть ошибка.

  • Maksim

    А как поменять значения полей на свои а то я использую wordpress и buddypress и у меня после авторизации пользователья из вконтакте отоброжаеться длинный логин — @loginza7JEABj0I1N… и в адресной строке тоже и аватарка не загрузилась на профиль, где и что надо менять и в каких файлах ? а то значения я так понимаю могу найти в моей базе даных.
    буду очень благодарен за помощь

    • Хм, немного не понял ваш вопрос. Вы хотите изменить значение каких полей?