Для того, чтобы добавить на сайт на 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 укажите страницу, на которую хотите редиректить пользователя после входа на сайт.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
спасибо, пригодился ваш второй способ, но вот такая еще проблемка осталась, если ввести неправильные данные в авторизацию и нажать "ввод" то кидает на стандартную форму регистрации..уже бестолковку(в плане сайтостроения) свою сломал в борьбе с этим вопросом
там надо использовать событие
но к сожалению это не на всех браузерах работает так, как хотелось бы
Здравствуйте. Подскажите пожалуйста, может сталкивались с таким. По каким причинам может не работать функция "Запомнить меня"? Форму создавала уже разными способами: и php, и html, даже ставила сторонний плагин. И хоть ты тресни - не запоминает ни одно поле. Даже не знаю, в какую сторону капать((
Здравствуйте!
Если вы говорите про функцию «Запомнить меня» при авторизации на сайте, то она и не должна запоминать поля, она лишь запоминает пользователя, чтобы, при входе в админку, не приходилось каждый раз по новой вводить логин и пароль.
Да, спасибо, уже почитала матчасть)) Что-то переклинило меня)
А можно ли скрыть чекбокс "Запомнить меня" через функцию в functions.php ?
У меня возможно статья не совсем корректно написана — очень давно это было. Попробуйте передать в функцию
wp_login_form()
параметрremember
равный false.Если вы имели ввиду именно стандартную форму входа WordPress, то ответ — нет, нельзя.
Миша, привет! Спасибо за блог. Вопрос, зачем нужен testcookie?
Привет!
Насколько я знаю, WordPress попробует поставить куки и потом уже, когда что-то пойдёт не так при авторизации с куками, то он выведет сообщение, что куки отключны в браузере и предложит их включить. В другом случае, при возникновении точно такой же ошибки, он не выведет ничего существенного. Короче говоря, что-то вроде дополнительной проверки.
Здравствуй! Давно наблюдаю за твоим блогом. У меня есть вопрос, возможно не по теме. Как примерно можно сделать форму входа во всплывающем окне без перехода на др. страницы, т.е при клике войти ты остаешься на той же странице, а форма входа появляется в popup окне. Я понимаю , что без js тут не обойтись, но как реализовать авторизацию без перехода к форме на login.php