Главная
Wordpress
Своя форма входа WordPress
  • 1076
  • 2
  • Рубрика: Wordpress

Своя форма входа WordPress

Своя форма входа WordPress

Доброго времени суток. 🙂

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

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

Для начала, вам нужно определится с местом внутри вашей темы, где лучше добавить форму. Я, чаще всего, добавляю такие формы в шапке сайта. Так же можно создать какую-то отдельную страницу или разместить в сайдбаре. Определившись, добавляете примерно такой код:

<div id="login_tp">
<form id="inputs" name="loginform" action="<?php bloginfo( 'url' ) ?>/wp-login.php" method="post">
<input type="text" name="log" id="log" placeholder="Логин"  >
<input type="password" name="pwd" id="pwd"  placeholder="Пароль" >
<input type="submit" name="submit" id="submit" value="Войти" ><br>
<label><input id="rememberme" class="check" type="checkbox" value="forever" name="rememberme" >Запомнить меня</label>
<a href="<?php bloginfo( 'url' ) ?>/wp-login.php?action=lostpassword" title="Восстановление пароля">Забыли пароль?</a>
</form>
<?php if(isset($_GET['login']) && $_GET['login'] == 'failed'){echo '<span>Ошибка авторизации</span>';} ?>
</div>   

По коду видно что это обычная форма входа, заключенная в родительский блок. Форма состоит из двух полей ввода - Логин, Пароль, имеется кнопка входа, чекбокс - Запомнить меня и ссылка - Забыли пароль?. Ссылка - забыли пароль, ведет на стандартную страницу входа. Если вы не хотите давать таой возможности, то удалите ее, ну или можете изменить стандартную форму входа, чтобы она вовсе не была похожа на WordPress. Сделать это можно, воспользовавшись статей - Как изменить страницу входа в консоль WordPress

Можете менять классы, но рекомендую не менять основные параметры полей, они нужны для правильной передачи данных WordPress.

Так же по коду видно, что в конце, предпоследняя строка, есть условие, что определяет удачно ли совершен вход. Если при вход была допущена ошибка, то после формы выведется сообщение - Ошибка авторизации. Можете разместить данный код где вам удобно. Но чтобы он работал, понадобится еще небольшая функция.

Добавлять ее нужно в function.php. Если не знаете куда, то просто в самый конец перед закрывающим тегом PHP ?>. Если его нет, то просто в самый конец.

add_action( 'authenticate', 'form_page_login');
function form_page_login( $user ){
  	$referrer = $_SERVER['HTTP_REFERER'];
  	$error = false;
  	if($_POST['log'] == '' || $_POST['pwd'] == '')
  	{
  		$error = true;
  	}
  	if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') && $error ) {
    	if ( !strstr($referrer, '?login=failed') ) {
        	wp_redirect( $referrer . '?login=failed' );
      	} else {
        	wp_redirect( $referrer );
      	}

    exit;

  	}
}

Теперь, все будет работать. При успешном входе вы попадете в консоль вордпресс. При неправильных данных, появится ошибка. Как и написал в самом начале, форму можно доработать, превратить в часть личного самописного кабинета или добавить к чему то.

На этом все, спасибо за внимание. 🙂




Если Вам был полезным мой труд, можете поддержать сайт :)


Оцените статью
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 2, в среднем: 5 из 5

Опубликовано 2 комментария

  • Сергей
    Комментариев: 3

    Всё это хорошо. Только меня вот какой вопрос волнует. Недели две назад положили мне все мои сайты. Методом подбора пароля. Как бы так сделать чтобы и адрес страницы входа не могли найти боты и чтоб только именно я мог заходить в админку, по ip или как то так ограничить доступ к админке? Нет такой статьи у вас?

    • Виталий
      Комментариев: 484

      Давно была у меня схожая проблема, постоянно было миллион обращений к странице входа. пароль там сложный подобрать его не получится, но нагрузку создавали на сайт ого-го. Воспользовался материалом с этой статьи, http://gnatkovsky.com.ua/kak-izmenit-adres-vxoda-v-admin-panel-wordpress.html
      Только дополнением от 27.04.2016 (вторая часть статьи). Первый способ у меня не сработал.
      После его применения все проблемы отпали.

Добавить комментарий для Сергей Отменить ответ

Заполните поля ниже. Ваш e-mail не будет опубликован. Обязательные поля помечены *

Уважаемые пользователи! При добавлении комментариев на сайт Вам следует соблюдать правила указанные под формой отправки комментариев.

Соблюдайте добавления комментариев

Это не спам *

Нажмите, чтобы добавить код в комментарий
X

Привет дорогой друг

У тебя установлено расширение AdBlock или подобное. Добавь мой сайт в белый список, и тем самым внесешь свой вклад в его развитие. Инструкция как отключить AdBlock Хочу такое же окошко