Расширение стандартного функционала WordPress

Опубликовано: 05.10.2017

видео Расширение стандартного функционала WordPress

Отслеживание заявок с сайта в Google Analytics и Яндекс Метрике на примере ContactForm 7

Приветствую вас, уважаемый читатель! В данной статье я рассмотрю вопрос расширения функционала WordPress. В одной из предыдущих публикаций я рассказывал как можно самостоятельно сделать регистрацию в WordPress без использования стандартного функционала движка . Продемонстрированный в статье о регистрации подход годится только для простенького функционала, когда жаль тратить время на разработку гибкого и правильного решения.  Неправильность продемонстрированного в прошлой статье подхода, как заметил в комментариях Jhekasoft, заключается в смешении HTML и PHP кода в одном файле (явный признак говнокодирования, оправданный в случае мелких задач и ограниченности во времени разработки).



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

Создадим контроллер

В качестве примера мы займемся разработкой механизма авторизации ранее зарегистрированного пользователя.


Уроки WordPress. Настройка темы Panaroma. Урок 3

Очевидно где-то должна быть форма авторизации, куда пользователь введет свой логин и пароль. HTML-код формы авторизации приведен в листинге 1.

Листинг 1. HTML-код формы авторизации

<form action="/morkovin_controller.php?action=login" method="post"> <label for="user_name">Логин:</label> <input id="user_name" type="text" name="log" /> <label for="user_password">Пароль:</label> <input id="user_password" type="password" name="pwd" /> <input type="submit" name="morkovin_sbmt_auth_btn" value="Войти" /> </form>

Данный код будет интепретирован браузером в самую элементарную форму, представленную на рис. 1. Остается лишь вставить в нужное место HTML-код (в сайдбар, пост или куда угодно).


Contact Form 7 чекбоксы, выпадающий список, варианты выбора.