Вы сможете добавить форму и при желании доработать, чтобы добиться нужного вам результата. В этой же статье, будет просто пример основного кода, так что статья рассчитана на людей с определенными навыками. Я считаю, что если вы решились на то чтобы добавлять свои формы. то вы примерно знакомы с 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; } }
Теперь, все будет работать. При успешном входе вы попадете в консоль вордпресс. При неправильных данных, появится ошибка. Как и написал в самом начале, форму можно доработать, превратить в часть личного самописного кабинета или добавить к чему то.
На этом все, спасибо за внимание. 🙂