Публикация в группе: Otshelnik-Fm - мои работы (код, плагины, дополнения, статьи и руководства)

Категории группы: Работаем с Wp-Recall

Добавлено в закладки: 5

Вторая часть по WP-Recall форме входа и регистрации.
Первая часть здесь

Содержание:

  1. Введение. Шаблоны
  2. Структура файла form-sign.php – шаблон входа
  3. Структура файла form-register.php – шаблон регистрации
  4. Структура файла form-remember.php – шаблон восстановления пароля
  5. Редирект после регистрации средствами WP-Recall
  6. Редиректы средствами WordPress (отдельная статья)
    • Перенаправление пользователя после входа в систему и выхода
    • Перенаправление пользователя после успешной регистрации
    • Перенаправление пользователя после сброса пароля
  7. Хуки и фильтры формы входа
  8. Хуки и фильтры формы регистрации
  9. Хуки и фильтры формы восстановления пароля
  10. Добавим логотип и надпись к форме входа (и к остальным)
  11. Вставим фоновую картинку в всплывающую форму
  12. Добавим бекграунд к всплывающей форме. + два варианта анимации!
  13. Отправим письмо админу, когда пользователь подтвердил регистрацию
  14. Изменим сообщение в форме при регистрации
  15. Как изменить текст письма отправляемого при регистрации

 


 Введение. Шаблоны:

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

Шаблоны форм входа, регистрации и напоминания пароля расположены по пути:
ваш-сайт/wp-content/plugins/wp-recall/templates/

Копируем оттуда:
form-register.php - форма регистрации
form-sign.php - форма входа
form-remember.php – восстановление пароля

в папку:
ваш-сайт/wp-content/wp-recall/templates/
- и уже оттуда редактируем под себя. Скопировав сюда - при обновлении плагина изменения не затрутся.

Список всех шаблонов WP-Recall можете найти на этой странице


 

 Структура файла form-sign.php – шаблон входа:

Наглядно описал на скриншоте (кликабельно):

У каждого файла вверху есть табы переключения. Область куда приходят сервисные сообщения. Поля ввода в форме и хук для дополнения формы своими полями.
Если вам нужно что-то дополнить, изменить верстку - то думаю теперь вам не составит труда вписать в нужное место.
Хуки разберем ниже.


 

 Структура файла form-register.php – шаблон регистрации:


 

 Структура файла form-remember.php – шаблон восстановления пароля:


 

 Редирект после регистрации средствами WP-Recall:

Плагин имеет фильтр url_after_register_rcl:

Применим его. Сделаем редирект пользователя, после регистрации, на нужную нам страницу:

в home_url - впишите свой адрес страницы


 

 Редиректы средствами WordPress:

"Перенаправление пользователя после успешной регистрации"
"Перенаправление пользователя после входа в систему и выхода"
"Перенаправление пользователя после сброса пароля"
- Все эти вопросы редиректов разбирались в этой статье


 

 Хуки и фильтры формы входа:

do_action('rcl_login_form_head'); - реколл хук, срабатывает в шапке формы входа

do_action('login_form'); - вордпресс экшен для дополнения своими полями формы входа. Не передает ничего. Срабатывает внутри тега form.
login_form в Кодексе вордпресс.

apply_filters('signform_fields_rcl',$signfields) - реколл фильтр для формы авторизации


 

 Хуки и фильтры формы регистрации:

do_action('rcl_register_form_head'); - реколл хук, срабатывает в шапке формы регистрации.

do_action('register_form'); - вордпресс экшен, для дополнения своими полями формы регистрации. Не передает ничего. Срабатывает внутри тега form.
register_form в Кодексе вордпресс.

do_action('pre_register_user_rcl',$ref); - срабатывает перед регистрацией пользователя

do_action('rcl_confirm_registration',$user->ID); - реколл хук, срабатывает когда пользователь подтверждает регистрацию. Передает id пользователя.

apply_filters('regform_fields_rcl',$regfields); - реколл фильтр для формы регистрации. Там, к примеру, происходит добавление проверки сложности пароля и «повторите пароль» и все произвольные поля профиля.

Не всё я тут охватил - смотрите в файле /wp-content/plugins/wp-recall/functions/register.php


 

 Хуки и фильтры формы восстановления пароля:

do_action('rcl_remember_form_head'); - реколл хук, срабатывает в шапке формы восстановления пароля

do_action('lostpassword_form'); - вордпресс экшен для дополнения своими полями формы восстановления пароля. Не передает ничего. Срабатывает внутри тега form.
lostpassword_form в Кодексе вордпресс.


 

Добавим название сайта и логотип на примере всплывающей формы входа:

- в теге img пропишите свой путь до логотипа.

Результат:

Чтобы добавить это же в форму регистрации и восстановления пароля добавьте еще два хука с нашей функцией:

 


 

 Вставим фоновую картинку в всплывающую форму:

Для стилизации формы впишем в ваш style.css следующие стили:

- в background-image вставляйте путь до вашей картинки
- background-position регулирует положение картинки

Результат:


 

 Добавим бекграунд к всплывающей форме. + два варианта анимации!:

В дополнении Christmas Time я применял данный метод. Там на видео наглядно видно, какая красота может произойти просто вставив в подложку всплывающей формы gif анимацию.
В этом примере я покажу как это сделать самостоятельно. Это будут только стили - а значит пример нужно вставлять в свой style.css
Картинку мы будем вставлять к оверлею - а это значит что клик по картинке будет закрывать форму.

Пример 1
Вначале просто картинка:

- тут все просто: Путь до картинки, положение картинки и прозрачность. opacity: 1; - означает что нет прозрачности. 50% прозрачности это значение 0.5

Результат:

Пример 2
Анимация на фоне с помощью gif картинки:

Результат:

Пример 3

Результат:

Из этих примеров картинки сохраните к себе на сервер и укажите путь оттуда. Со стороннего сервера они потом могут быть удалены. Поэтому надежней перекачать на свой сервер.


 

 Отправим письмо админу, когда пользователь подтвердил регистрацию:

В момент регистрации мы можем зацепиться за стандартный хук регистрации вордпресса user_register
Но другое дело - когда нам нужно отправить письмо, когда в настройках у нас включено подтверждение регистрации.
Вот и отправим письмо админу, что на его сайте пользователь подтвердил регистрацию:

- вам нужно вписать только почту - кому будет приходить письмо


 

 Изменим сообщение в форме при регистрации:

Если отключено подтверждение регистрации. При успешной регистрации покажем свое сообщение в форме:

Использовали wordpress хук login_messages

Результат было/стало:


 

 Если включено подтверждение регистрации. При регистрации покажем в форме свое сообщение, пока пользователь не подтвердил регистрацию:

- т.е. мы ловим нужный гет параметр и заменяем сообщение.

Результат было/стало:


 

 Если включено подтверждение регистрации. Покажем в форме свое сообщение: пользователь успешно подтвердил регистрацию:

На последнем шаге регистрации мы покажем свое сообщение:

Результат было/стало:


 

 Если включено подтверждение регистрации. E-mail не подтвержден. Провал проверки:

Если по каким-либо причинам пользователь провалил подтверждение почты - покажем ему дополнительную информацию - почту администрации для решения проблем.

- впишите свои контакты.
Так как это не сообщение а ошибка - то и обрабатываем ее мы другим вордпресс фильтром - login_errors

Результат было/стало:


 

 Как изменить текст письма отправляемого при регистрации:

На данный момент гибкого решения нет. Только если править саму функцию отправки письма:
rcl_register_mail в файле /wp-content/plugins/wp-recall/functions/register.php


 

8

Автор публикации

786

Вся лента по разработке здесь: http://across-ocean.otshelnik-fm.ru/

и список моих работ к плагину WP-Recall

Комментарии: 1196Публикации: 133Регистрация: 27-01-2013Продаж/Покупок: 6584/134