Часть 1. API плагинов. Создание плагинов для WordPress
- В первой части курса мы рассмотрим API плагинов. Вы узнаете принципы создания плагинов и сможете писать собственные плагины – как для себя, так и на заказ.
Вы узнаете:
- Основные источники документации, которые сэкономят вам время и нервы - вы будете точно знать, где искать тот или иной вопрос.
- Принципы написания плагинов, благодаря которым он корректно будет работать.
- Что такое хуки, подробно рассмотрим два вида хуков - фильтры и экшены. Благодаря механизму хуков вы сможете легко взаимодействовать с ядром WordPress и решить практически любую задачу в WordPress.
- Как выполнить подготовительные работы в момент активации плагина. Например, как проверить версию PHP или WordPress и, если нужно, сообщить пользователю, что ему надо обновиться.
- Как "убирать за собой” после деактивации плагина. Признак хорошего тона – после удаления плагина он должен сам себя очистить. Благодаря этому ваши плагины будут выглядеть более профессионально.
Вы научитесь:
- работать с шорткодами и делать плагины более удобными для пользователя.
- корректно подключать к плагину скрипты, файлы стилей и другие плагины, благодаря чему сможете гибко управлять как внешним видом, так и возможностями плагина.
- корректно писать код jQuery, чтобы не возникало возможных конфликтов написанного кода с кодом темы или прочими плагинами.
- изучите несколько методов работы с базой данных WordPress, узнаете возможные ошибки при изменении структуры БД и как их решить.
- управлять формой комментариев WordPress - добавлять или удалять поля.
- как сделать форму авторизации более безопасной.
- ещё больше оптимизируете WordPress для поисковых систем, благодаря "хлебным крошкам”.
- изучите условные теги ВП.
- Познакомитесь с новой возможностью WordPress и которая часто используется различными плагинами – передача данных из серверного скрипта в клиентский, т.е. использование в JavaScript’e объектов, созданных в PHP.
- Освоите встроенные в WordPress возможности создания галерей, благодаря чему не надо будет писать шорткод - он будет генерироваться автоматически.
В результате изучения первой части курса мы создадим 8 плагинов и тем самым закрепим теоретический материал на практике:
- Плагин "Похожие записи”.
- Плагин "Количество просмотров статей”.
- Плагин "Капча для формы комментариев”.
- Плагин "Капча для формы авторизации”.
- Плагин "Хлебные крошки в title”.
- Плагин "Google-карты”.
- Плагин "Google-карты 2: продвинутая версия”.
- Плагин "Галерея”.
А вот и уроки первой части курса:
УРОК 1. ОРГАНИЗАЦИОННЫЕ ВОПРОСЫ
- В первом уроке мы пройдёмся по организационным моментам:
- рассмотрим структуру курса;
- рассмотрим основные источники документации, к которой мы будем постоянно обращаться при прохождении курса;
- обозначим необходимое программное обеспечение (сервер, редактор кода, версия WordPress).
УРОК 2. ПРИНЦИПЫ СОЗДАНИЯ ПЛАГИНОВ
- при написании любого плагина мы должны придерживаться определенных принципов написания для того, чтобы он работал корректно.
- Здесь мы узнаем о соглашениях при выборе имени плагина, при создании файлов плагина.
- затронем тему принципов программирования плагина.
- познакомимся с таким ключевым понятием при написании плагинов, как хуки («hook»: крючок, зацепка).
- зарегистрируем в WordPress свой первый плагин.
УРОК 3. АКТИВАЦИЯ ПЛАГИНА
- Нередко бывает так, что перед использованием плагина нам необходимо выполнить некие подготовительные работы, например:
- проверить версию PHP или самого WordPress и по результатам проверки, возможно, уведомить пользователя о необходимости обновления;
- внести изменения в базу данных: изменить структуру таблиц, создать новые таблицы и т.д.
- Задачи могут быть разные, и все их необходимо выполнить до начала работы с плагином.
- В третьем уроке вы узнаете, как выполнить любые подготовительные работы в момент активации плагина.
УРОК 4. ДЕАКТИВАЦИЯ И УДАЛЕНИЕ ПЛАГИНА
- Хорошим тоном при написании плагинов считается «уборка за собой». Что это значит?
- Плагин в процессе работы может изменять структуру базы данных сайта, создавать новые таблицы и заполнять их данными.
- Пользователь в любой момент может отключить и удалить плагин и, если мы не позаботимся об удалении уже ненужных данных, которые создавал плагин, то эти данные будут висеть «мертвым грузом».
- WordPress предоставляет средства отслеживания момента деактивации или удаления плагина, и в этот момент мы можем выполнить любые действия, например, «убрать за собой», удалив уже ненужные данные, связанные с работой плагина.
УРОК 5. ХУКИ: ФИЛЬТРЫ И ЭКШЕНЫ.
- В одном из предыдущих уроков мы уже затронули тему принципов программирования плагинов и познакомились с таким фундаментальным понятием, как хуки.
- Механизм хуков достаточно удобен в WordPress и позволяет достаточно легко взаимодействовать с ядром WordPress.
- Если говорить образным языком, то хуки – это своеобразные крючки, к которым мы можем прицепить собственный код, и этот код будет выполнен в нужный момент.
- В уроке рассмотрены 2 вида хуков: фильтры и экшены, использование которых позволяет решить, пожалуй, любую задачу в WordPress.
УРОК 6. ИМПОРТ ТЕСТОВОГО КОНТЕНТА
- В этом уроке мы воспользуемся штатными возможностями WordPress для наполнения базы данных сайта тестовым контентом, который мы будем использовать в дальнейшей работе.
УРОК 7. ПЛАГИН «ПОХОЖИЕ ЗАПИСИ» . ЧАСТЬ 1
- В этом уроке мы с вами начнем создание уже полноценного плагина, который будет выводить блок ссылок на несколько похожих записей из той же рубрики.
- Думаю, подобные плагины вы уже видели не раз и, скорее всего, даже использовали.
- Теперь вы сможете сами создать такой плагин и полностью контролировать процесс его создания и работы.
- На протяжении 3-х уроков мы создадим такой плагин.
- В этом уроке мы зарегистрируем плагин, а также организуем выборку и простейший вывод похожих записей.
УРОК 8. ПЛАГИН «ПОХОЖИЕ ЗАПИСИ». ЧАСТЬ 2
- В этом уроке мы продолжим создание плагина «Похожие записи».
- Здесь мы уже не просто будем выводить названия похожих статей, а организуем более привлекательный вывод, используя миниатюры записей.
- При этом мы также предусмотрим ситуацию, когда у похожего поста не установлена миниатюра.
УРОК 9. ПЛАГИН «ПОХОЖИЕ ЗАПИСИ» . ЧАСТЬ 3
- в последнем уроке по созданию плагина «Похожие записи» мы добавим ему привлекательности, что сделает его уже не простым рядовым плагином, пригодным для собственного использования, но плагином, которым вполне можно поделиться с другими.
- в уроке мы научимся правильно подключать скрипты и файлы стилей плагина.
- также узнаем, как корректно писать код jQuery для того, чтобы не возникло возможных конфликтов написанного кода с кодом темы или прочими плагинами.
УРОК 10. ПЛАГИН «КОЛИЧЕСТВО ПРОСМОТРОВ СТАТЕЙ». ЧАСТЬ 1
- Этот и следующие 2 урока мы будем делать плагин «Количество просмотров статей».
- Это как раз плагин, требующий подготовительных работ перед использованием и чистки после себя перед его удалением.
- Первый урок будет посвящен изменению структуры базы данных сайта перед использованием плагина.
- Здесь мы напишем код, который сработает в момент активации плагина, и который добавит новое поле в существующую таблицу постов.
УРОК 11. ПЛАГИН «КОЛИЧЕСТВО ПРОСМОТРОВ СТАТЕЙ» . ЧАСТЬ 2
- В уроке мы продолжим создавать плагин «Количество просмотров статей».
- Здесь мы используем сразу 2 хука: экшен и фильтр, которые позволят нам изменять значение добавленного поля в базе данных, увеличивая его на единицу с каждым просмотром, а также получать это значение из базы данных.
- В уроке мы также используем несколько методов по работе с базой данных в WordPress.
УРОК 12. ПЛАГИН «КОЛИЧЕСТВО ПРОСМОТРОВ СТАТЕЙ» . ЧАСТЬ 3
- В этом уроке мы доделаем плагин «Количество просмотров статей».
- Из урока вы узнаете, как к файлу плагина подключать другие файлы.
- также мы напишем функционал, который будет «чистить за собой» в момент удаления плагина.
- вы узнаете, как решить возможные ошибки при изменении структуры базы данных.
УРОК 13. ПЛАГИН «КАПЧА ДЛЯ ФОРМЫ КОММЕНТАРИЕВ»
- Если ваш сайт достаточно популярен и на нем разрешено комментирование, то вы наверняка сталкивались с проблемой спама в комментариях.
- В этом уроке мы напишем плагин «Капча для формы комментариев», который добавит к форме комментариев простую проверку на человечность.
- Также из урока вы узнаете, как управлять формой комментариев в WordPress: мы удалим порой ненужное поле «Сайт» из формы комментариев.
УРОК 14. ПЛАГИН «КАПЧА ДЛЯ ФОРМЫ АВТОРИЗАЦИИ». ЧАСТЬ 1
- 2 урока мы посвятим работе с еще одной формой в WordPress – формой авторизации.
- Для этого мы напишем плагин «Капча для формы авторизации».
- Плагин поможет устранить несколько недостатков процесса авторизации в WordPress, а также добавит надежности форме авторизации, добавив несложную проверку на человечность.
УРОК 15. ПЛАГИН «КАПЧА ДЛЯ ФОРМЫ АВТОРИЗАЦИИ». ЧАСТЬ 2
- в этом уроке мы продолжим создание плагина «Капча для формы авторизации».
- познакомимся с несколькими вариантами и некоторыми нюансами создания данного плагина.
УРОК 16. ПЛАГИН «ХЛЕБНЫЕ КРОШКИ В TITLE». ЧАСТЬ 1
- WordPress изначально довольно неплохо оптимизирован для поисковых систем.
- в title страницы выводится название просматриваемого материала и название сайта.
- однако, нам этого может показаться мало, и мы захотим показывать еще и промежуточные звенья, так называемые хлебные крошки, где будет отображен полный путь от названия сайта до просматриваемого материала.
- именно для этой цели мы и создадим плагин «Хлебные крошки в title».
УРОК 17. ПЛАГИН «ХЛЕБНЫЕ КРОШКИ В TITLE». ЧАСТЬ 2
- В этом уроке мы завершим создание плагина «Хлебные крошки в title».
- По ходу написания плагина мы познакомимся со всевозможными условными тегами WordPress, а также увидим нюансы использования регистрируемых функций для хуков на примере приоритета их выполнения.
УРОК 18. СОЗДАНИЕ ШОРТКОДОВ ДЛЯ САЙТА
- Довольно распространенным вариантом при создании плагинов является добавление шорткодов.
- Шорткод – это так называемый короткий код, который напоминает BB-теги.
- Он прост и удобен в использовании пользователем и предоставляет массу возможностей.
- С помощью шорткодов на страницы сайта можно добавлять карты, галереи и множество другого востребованного функционала.
- В этом уроке мы познакомимся с возможностями использования шорткода, которые активно используем для следующих нескольких плагинов.
УРОК 19. ПЛАГИН «GOOGLE-КАРТЫ»
- познакомившись с использованием шорткода в прошлом уроке, в этом мы приступим к созданию плагина «Google-карты», который зарегистрирует соответствующий шорткод.
- используя данный шорткод, пользователю будет досаточно ввести адрес, который должен быть показан, и на нужной странице или в статье будет показана простая статичная карта от Google.
УРОК 20. ПЛАГИН «GOOGLE-КАРТЫ 2». ЧАСТЬ 1
- В этом уроке мы приступим к созданию второй, более продвинутой версии плагина «Google-карты».
- Плагин позволит выводить уже не статичную, а динамичную карту от Google.
УРОК 21. ПЛАГИН «GOOGLE-КАРТЫ 2». ЧАСТЬ 2
- В уроке мы завершим создание плагина «Google-карты 2».
- Здесь мы познакомимся с новой возможностью, которую предоставляет WordPress и которая часто используется различными плагинами – это передача данных из серверного скрипта в клиентский, т.е. использование в JavaScript’e объектов, созданных в PHP.
УРОК 22. ПЛАГИН «ГАЛЕРЕЯ». ЧАСТЬ 1
- В этом и следующем уроке мы напишем плагин «Галерея», который позволит создавать привлекательные галереи для страниц и статей сайта.
- При этом мы воспользуемся уже встроенными в WordPress возможностями создания галерей, что избавит пользователя вообще от необходимости писать шорткод – шорткод будет генерироваться автоматически.
УРОК 23. ПЛАГИН «ГАЛЕРЕЯ». ЧАСТЬ 2
- Этим уроком мы завершим создание плагина «Галерея» и первую часть нашего курса, посвященную непосредственно созданию плагинов.
Часть 2. API виджетов. Создание собственных виджетов
- Во второй части курса мы создадим собственные виджеты. WordPress уже предлагает некоторый набор виджетов, но ничто нам не мешает создать собственный при помощи API виджетов.
После изучения второй части курса вы освоите:
- основные принципы написания виджетов.
- На базе виджета Аккордеон библиотеки jQuery UI вы научитесь создавать привлекательный, современный и функциональный виджет, который смело можно выкладывать в общий доступ.
- Для того, чтобы виджет был более удобным для пользователя, вы научитесь добавлять настройки виджета.
- Научитесь работать с API Вконтакте. Сделаете так, чтобы виджет получал сообщения со стены Вконтакте и выводил их на страницах сайта.
- В результате изучения второй части курса мы создадим два виджета и тем самым закрепим теоретический материал на практике:
- Виджет "Рубрики: Аккордеон”
- Виджет "Записи со стены Вконтакте”
А вот и сами уроки второй части курса:
УРОК 1. СОЗДАНИЕ ПРОСТЕЙШЕГО ВИДЖЕТА. ЧАСТЬ 1
- в первых двух уроках мы рассмотрим принципы написания виджетов и создадим простейший текстовый виджет, фактически повторяющий стандартный виджет «Текст» из набора виджетов WordPress.
- это самый простейший виджет, поэтому он идеально подойдет нам для понимания принципов создания виджетов.
УРОК 2. СОЗДАНИЕ ПРОСТЕЙШЕГО ВИДЖЕТА. ЧАСТЬ 2
- во второй части мы продолжим создание простейшего текстового виджета и изучение принципов создания виджетов.
УРОК 3. ВИДЖЕТ «РУБРИКИ: АККОРДЕОН». ЧАСТЬ 1
- Идею создания данного виджета мы возьмем, опять таки, из списка стандартных виджетов WordPress.
- Однако наш виджет будет гораздо более привлекательным, современным и функциональным.
- В своей работе виджет будет использоваться возможности виджета Аккордеон библиотеки jQuery UI.
- В итоге мы получим замечательный виджет, который вполне можно выложить в общий доступ. В этом уроке мы создадим каркас будущего виджета.
УРОК 4. ВИДЖЕТ «РУБРИКИ: АККОРДЕОН». ЧАСТЬ 2
- Во второй части мы продолжим создание виджета «Рубрики: Аккордеон».
- Здесь мы подключим необходимые для работы виджета скрипты.
5. ВИДЖЕТ «РУБРИКИ: АККОРДЕОН». ЧАСТЬ 3
- в уроке продолжаем создавать виджет «Рубрики: Аккордеон».
- В этом уроке мы займемся настройками виджета, которых будет довольно много.
УРОК 6. ВИДЖЕТ «РУБРИКИ: АККОРДЕОН». ЧАСТЬ 4
- В последнем уроке по созданию виджета «Рубрики: Аккордеон», мы будем передавать настройки в клиентский скрипт.
УРОК 7. ВИДЖЕТ «ЗАПИСИ СО СТЕНЫ ВКОНТАКТЕ». ЧАСТЬ 1
- В этом и следующих двух уроках мы будем создавать замечательный виджет «Записи со стены Вконтакте».
- Это будет последний виджет, и его созданием мы не только закрепим тему создания виджетов в целом, но еще и поработаем с API Вконтакте.
- Виджет будет получать сообщения со стены Вконтакте и выводить их на страницах сайта.
- Все же, что нужно сделать пользователю, это указать стену, с которой нужно получить сообщения, а также количество сообщений, которое нужно вывести.
УРОК 8. ВИДЖЕТ «ЗАПИСИ СО СТЕНЫ ВКОНТАКТЕ». ЧАСТЬ 2
- во второй части мы продолжаем создавать виджет «Записи со стены Вконтакте».
УРОК 9. ВИДЖЕТ «ЗАПИСИ СО СТЕНЫ ВКОНТАКТЕ». ЧАСТЬ 3
- в последнем уроке второй части курса мы доделаем виджет «Записи со стены Вконтакте».
Часть 3. API настроек. Управление настройками плагинов
- В третьей части курса мы с вами изучим API настроек (Settings API). До этого момента настройки плагинов мы хранили непосредственно в их файлах. Это неудобно и не всегда приемлемо – вряд ли рядовой пользователь будет лезть в файл плагина, чтобы изменить ту или иную настройку. И вот здесь нас здорово выручает API настроек, который позволяет нам хранить настройки плагинов или тем в базе данных и управлять ими из админки сайта.
После изучения третьей части курса вы освоите:
- научитесь создавать и группировать опции в секции, для большего удобства.
- создадите плагин, который позволит настраивать тему из админки, например, изменить цвет фона, шапку, шрифт и т.д. Такие возможности часто используются при создании премиум-тем – и вы будете уметь делать такие плагины.
- научитесь создавать свои страницы опций, которые будут относиться к конкретному плагину. Этот навык пригодится вам при создании объёмных плагинов с кучей настроек.
- узнаете различные нюансы при создании собственного меню и субменю в админке WordPress… опять таки, возможность будет незаменима при создании объёмных плагинов.
- научитесь загружать файлы при помощи WordPress… благодаря этой функции, можно будет поменять шапку из админки, пользователю не надо будет лезть в код.
А вот уроки третьей части курса:
УРОК 1. СОЗДАНИЕ ПЕРВОЙ ОПЦИИ
- Когда наш плагин имеет минимум настроек или его настройки логично разместить на существующих страницах админки, или просто нет смысла в создании отдельной страницы настроек, тогда мы можем воспользоваться уже имеющимися страницами в админке WordPress.
- В этом уроке мы создадим свою первую опцию и поместим ее на уже существующую страницу общих настроек (или на любую другую).
- При этом нам не нужно будет заботиться о сохранении значений опции, WordPress все сохранит автоматически.
УРОК 2. ГРУППИРОВКА ОПЦИЙ
- когда мы размещаем на одной странице более одной опции, то, вполне вероятно, мы захотим их сгруппировать.
- в уроке мы узнаем, как можно сгруппировать опции в секции.
УРОК 3. СОЗДАНИЕ НАСТРАИВАЕМОЙ ТЕМЫ
- В этом уроке мы закрепим изученный материал и создадим небольшой плагин, который позволит настраивать тему из админки: например, изменить цвет фона, шапку, шрифт и т.д.
- Такие возможности нередко используются при создании премиум-тем со всевозможными настройками.
- В этом уроке вы узнаете, как это можно реализовать.
УРОК 4. ДОБАВЛЯЕМ НАСТРОЙКИ ПЛАГИНУ «ГАЛЕРЕЯ»
- В этом уроке мы вернемся к написанному в первой части курса плагину «Галерея» и добавим несколько настроек, которыми можно будет управлять непосредственно из настроек админки.
УРОК 5. СОЗДАЁМ СОБСТВЕННУЮ СТРАНИЦУ ОПЦИЙ. ЧАСТЬ 1
- При создании полноценного плагина недостаточно использовать уже существующие страницы настроек.
- Хотелось бы для настроек плагина создать собственную страницу опций, на которой бы компактно расположились только наши настройки.
- На протяжении 4-х уроков мы будем разрабатывать собственную страницу опций.
- При этом в процессе разработки мы рассмотрим 2 варианта работы со страницей опций: уже несколько устаревший и современный варианты.
- Начнем мы с первого варианта и от урока к уроку будем его совершенствовать, получив в итоге современный вариант.
УРОК 6. СОЗДАЁМ СОБСТВЕННУЮ СТРАНИЦУ ОПЦИЙ. ЧАСТЬ 2
- В этом уроке мы продолжим создавать собственную страницу опций.
- Используя первый вариант, озвученный в предыдущем уроке, мы самостоятельно будем принимать данные из формы и сохранять их в базу данных.
УРОК 7. СОЗДАЁМ СОБСТВЕННУЮ СТРАНИЦУ ОПЦИЙ. ЧАСТЬ 3
- Продолжаем создавать собственную страницу опций.
- В этом уроке мы улучшим нашу страницу и добьемся того, чтобы уже не мы сами принимали и сохраняли данные, а за нас это делал WordPress.
УРОК 8. СОЗДАЁМ СОБСТВЕННУЮ СТРАНИЦУ ОПЦИЙ. ЧАСТЬ 4
- В этом уроке мы доделаем собственную страницу опций и придём к современному варианту работы со страницей настроек.
- В итоге, хотя наш код и станет несколько больше, но получится он более структурированным и гибким.
УРОК 9. СОЗДАЁМ СТРАНИЦЫ МЕНЮ. ЧАСТЬ 1
- Может так статься, что одной страницы опций вам будет недостаточно.
- Например, вы создаете довольно объемный или специфичный плагин, который имеет не только опции, но и предоставляет, скажем, какие-то отчеты или информацию.
- В таком случае логично выводить настройки на одной странице, а прочие данные – на другой.
- Таким образом, нам потребуется уже 2 страницы.
- В этом и 2-х следующих уроках мы с вами научимся создавать собственную секцию меню в админке.
- Пока что в этой секции будет только одна страница, но в дальнейшем мы сможем добавить в нее больше страниц.
- По ходу изучения этих уроков мы с вами также рассмотрим различные варианты работы и нюансы при создании собственного меню в WordPress.
УРОК 10. СОЗДАЁМ СТРАНИЦЫ МЕНЮ. ЧАСТЬ 2
- В этом уроке мы продолжим создавать собственное меню в админке WordPress.
УРОК 11. СОЗДАЁМ СТРАНИЦЫ МЕНЮ. ЧАСТЬ 3
- В итоговом уроке мы доделаем собственное меню в админке WordPress.
- Пока что в нем представлена только одна страница, но наше меню уже выделяется среди прочих.
- К тому же, мы легко можем настраивать его, согласно теме нашего плагина.
- Мы можем изменять его позицию в админке среди прочих меню, можем изменять иконку меню согласно тематике плагина.
УРОК 12. СОЗДАНИЕ СУБМЕНЮ
- Этот урок – логическое продолжение предыдущего.
- В предыдущем уроке мы закончили создание собственной секции меню, однако, в ней находится пока что только 1 страница.
- В этом уроке мы научимся добавлять дополнительные страницы в созданное нами меню.
УРОК 13. ЗАГРУЗКА ФАЙЛОВ В WORDPRESS. ЧАСТЬ 1
- Последние два урока посвятим загрузке файлов в WordPress.
- Возможность загрузки файлов нередко используется в различных плагинах.
- Да и коль уж мы с вами практически все последние уроки работали с настройками темы, то тема загрузки файлов в этом разрезе представляет особый интерес.
- Согласитесь, для пользователя будет очень удобной возможность, скажем, смены картинки шапки из админки, без необходимости лезть в код.
- Именно эту возможность мы и реализуем, воспользовавшись средствами загрузки файлов, предоставляемыми WordPress.
УРОК 14. ЗАГРУЗКА ФАЙЛОВ В WORDPRESS. ЧАСТЬ 2
- В этом уроке мы доработаем код – реализуем процесс загрузки файлов.
- Заодно мы закрепим изучение всей темы последней части курса, создав собственную страницу опций с нуля.