Статьи

Создание пользовательских страниц входа и регистрации в WordPress

WordPress начал свою жизнь как блог-движок, веб-программное обеспечение для создания блогов. За прошедшие годы она превратилась в систему управления контентом (CMS), хотя некоторые разработчики могут не согласиться с тем, что она считается CMS.

Существует здоровое неуважение к страницам входа и регистрации по умолчанию в WordPress, потому что они живут за пределами веб-сайта без соответствия дизайну сайта.

Когда дело доходит до создания веб-сайта для клиентов, вам может потребоваться более персонализированная страница входа в систему, чтобы она прекрасно вписывалась в дизайн веб-сайта в целом. Существует также множество плагинов, расширяющих WordPress, где страницы регистрации и входа в систему используются конечными пользователями, а не только администраторами сайта.

Несколько разработчиков выпустили несколько видов плагинов для настройки стандартных форм входа и регистрации в WordPress, таких как Custom Custom Page Page Customizer .

Жалоба на странице учетной записи по умолчанию не в первую очередь потому, что она не красивая, а потому, что у нее нет связи с внешним видом сайта.

Быстрый поиск в Google по созданию пользовательских страниц регистрации и входа в систему для WordPress показывает учебники, предназначенные для продвинутых разработчиков PHP / WordPress. Это нормально, если у вас есть опыт, но как человек, который написал много учебных пособий для разработчиков, я знаю, что есть аудитория, которая нуждается в чем-то более простом.

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

Ниже приведен дизайн формы, который будет использован в этом уроке.

Если вы хотите опередить учебник, вы можете просмотреть демонстрацию страниц входа в систему , регистрации и сброса пароля .

Представляем ProfilePress

ProfilePress — это плагин WordPress, который делает создание пользовательских учетных записей (вход в систему, регистрацию, сброс пароля и редактирование профиля) и внешний интерфейс тупо простым, без необходимости кодировать какую-либо систему проверки, аутентификации и авторизации PHP на стороне сервера. Это то, что я видел потребность, поэтому я создал это. Это был интересный проект для работы, о котором я расскажу больше в будущих статьях.

В типичном примере он может превратить простую форму входа в HTML в функциональный вход в WordPress без написания PHP.

ProfilePress не является плагином типа drag-and-drop, скорее он использует шорткоды в качестве своей системы шаблонов для создания форм учетных записей и внешних профилей.

Шорткоды для ProfilePress — это то же самое, что Handlebars и Twig для JavaScript и PHP соответственно. Возможно, вы уже знакомы с шорткодами, если вы использовали плагины, такие как Gravity Forms, Contact Form 7 или NextGEN Gallery. Они очень просты в использовании.

Без лишних слов давайте начнем с создания форм WordPress для входа в систему, регистрации и сброса пароля.

Пользовательская страница входа

Прежде всего, установите и активируйте облегченную версию плагина ProfilePress, доступную бесплатно в каталоге плагинов WordPress.

Щелкните меню « Login Form как показано на рисунке ниже, а затем нажмите кнопку « Add New , чтобы начать процесс.

Меню входа

Форма будет представлена ​​вам. Заполните поля следующим образом.

Введите имя для формы входа в поле « Имя шаблона» .

Скопируйте указанный выше код формы входа в кодовую ручку в редактор Login Design TinyMCE, а затем замените текст, пароль и отправьте поля ввода соответствующими эквивалентами шорткода .

Вот окончательный HTML-код для формы входа.

 <div class="sp-pp"> <div class="container"> <h1>SitePoint</h1> <h2>Sign In</h2> <fieldset class="form-fieldset ui-input __first"> [login-username id="username"] <label for="username"> <span data-text="Username">Username</span> </label> </fieldset> <fieldset class="form-fieldset ui-input __second"> [login-password id="password"] <label for="password"> <span data-text="Password">Password</span> </label> </fieldset> <div class="form-footer"> [login-submit class="btn" value="Log In"] </div> </div> </div> 

Примечание: тег <form ..></form> не допускается. Они автоматически добавляются плагином при рендеринге форм.

Вставьте CSS для входа в текстовую область CSS Stylesheet .

Страница входа CSS

Примечание. Ошибки, сгенерированные формами входа в систему ProfilePress, заключаются в div с классом profilepress-login-status , таким образом, присутствие класса в таблице стилей входа в систему.

Чтобы увидеть предварительный просмотр формы входа в систему, нажмите кнопку « Preview Design .

Custom WordPress Login Preview

Наконец, нажмите кнопку Save Changes , чтобы создать форму входа.

Сделать форму входа доступной в виде виджета WordPress, который можно перетаскивать в область / боковую панель; установите флажок « Сделать это виджетом» . После сохранения изменений перейдите на страницу администрирования виджета WordPress, перетащите виджет входа в ProfilePress в нужное место, выберите форму входа и сохраните.

WordPress Логин Виджет

Вернитесь в каталог входа в систему, скопируйте сгенерированный шорткод входа и вставьте его на страницу, на которой вы хотите создать свою пользовательскую страницу входа.

Вход в каталог

Пользовательская страница регистрации

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

Выберите меню Registration Form затем нажмите кнопку Add New .

Скопируйте указанный выше код регистрационной формы в редактор регистрации TinyMCE.

Замените компоненты формы (имя пользователя, пароль, адрес электронной почты, имя, поля фамилии и кнопку «Отправить») соответствующими эквивалентами ShortPode для ProfilePress.

Код для формы регистрации, наконец, будет выглядеть так:

 <div class="sp-pp"> <div class="container"> <h1>SitePoint</h1> <h2>Create a new account</h2> <fieldset class="form-fieldset ui-input __first"> [reg-username id="username"] <label for="username"> <span data-text="Username">Username</span> </label> </fieldset> <fieldset class="form-fieldset ui-input __second"> [reg-email id="email"] <label for="email"> <span data-text="E-mail Address">E-mail Address</span> </label> </fieldset> <fieldset class="form-fieldset ui-input __third"> [reg-password id="password"] <label for="password"> <span data-text="Password">Password</span> </label> </fieldset> <fieldset class="form-fieldset ui-input __fourth"> [reg-first-name id="first-name"] <label for="first-name"> <span data-text="First Name">First Name</span> </label> </fieldset> <fieldset class="form-fieldset ui-input __fourth"> [reg-last-name id="last-name"] <label for="last-name"> <span data-text="Last Name">Last Name</span> </label> </fieldset> <div class="form-footer"> [reg-submit class="btn" value="Create Account"] </div> </div> </div> 

Вставьте регистрационный CSS в текстовую область CSS Stylesheet .

Примечание. Ошибки, сгенерированные регистрационными формами ProfilePress, заключаются в элемент div с именем класса profilepress-reg-status , отсюда и класс в profilepress-reg-status стилей.

Введите код для отображения настраиваемого сообщения при успешной регистрации пользователя.

 <div class="profilepress-reg-status">Registration Successful.</div> 

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

Регистрация успех

Вернитесь в каталог регистрации, скопируйте сгенерированный шорткод и вставьте его на страницу, на которой вы хотите создать свою пользовательскую страницу регистрации.

Каталог регистрации

Пользовательская страница сброса пароля

Перейдите на страницу настроек сброса пароля, щелкнув меню Password Reset .

Нажмите кнопку « Add New вверху страницы, чтобы начать процесс создания формы.

Скопируйте приведенный выше код для сброса пароля CodePen в редактор TinyMCE Design Reset Password .

Код сброса пароля

Замените поле имени пользователя / адреса электронной почты и кнопку отправки на их эквиваленты шорткода .

Окончательный код для формы сброса пароля будет выглядеть так:

 <div class="sp-pp"> <div class="container"> <h1>SitePoint</h1> <h2>Reset Password</h2> <fieldset class="form-fieldset ui-input __first"> [user-login id="userlogin"] <label for="userlogin"> <span data-text="Username / Email">Username / Email</span> </label> </fieldset> <div class="form-footer"> [reset-submit class="btn" value="Reset"] </div> </div> </div> 

Введите приведенный ниже код в текстовое поле « Message on successful password reset , чтобы отобразить настроенное сообщение после того, как пользователи успешно воспользовались формой для сброса пароля.

 <div class="profilepress-reset-status">Check your e-mail for further instruction.</div> 

Сохраните изменения и вернитесь в каталог.

Скопируйте сгенерированный шорткод и вставьте его на страницу, на которой вы хотите создать свой собственный пароль.

Перенаправление страниц учетной записи WordPress по умолчанию в пользовательские альтернативы

Наконец, все, что нам теперь нужно сделать, — это перенаправить страницы входа в систему WordPress по умолчанию, регистрации и сброса пароля на свои пользовательские альтернативы, созданные с помощью ProfilePress, поэтому, когда пользователи посещают следующие URL-адреса по умолчанию ниже, они будут перенаправлены на пользовательские страницы.

  1. http://example.com/wp-login.php
  2. http://example.com/wp-login.php?action=register
  3. http://example.com/wp-login.php?action=lostpassword

Для этого нажмите на меню настроек плагина.

В разделе « Global Settings » выберите и сохраните пользовательские страницы входа в систему, регистрации и сброса пароля.

Глобальные настройки

Резюме

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

Если у вас есть какие-либо вопросы, предложения или предложения, пожалуйста, дайте мне знать в комментариях.