Плагин Crazy Titles

Для более близкого знакомства с WordPress и лучшего понимания его структуры решил научиться создавать плагины. В данной статье опишу как я написал свой первый плагин.

Плагин Crazy Titles – изменяет внешний вид всех заголовков статей.

Например,

«ТаК БуДеТ ВыГлЯдЕтЬ ЗаГоЛоВоК ПоСлЕ АкТиВаЦиИ ПлАгИнА CrAzY TiTlEs.»

После деактивации плагина заголовки вернутся к своему прежнему виду!

Плагин был создан в целях обучения и, в принципе, не имеет другой практической ценности. Разве что, можете его активировать в качестве прикола 1 января или 1 апреля.

По идее, должен быть совместим со всеми версиями WordPress.

Скачать плагин “Crazy Titles”:

Версия 1.1:   crazy-titles-1.1 (1,4 KiB, 187 hits) 26.11.2013

– Все слова начинаются только с заглавной буквы (кроме союзов и предлогов, состоящих из одной буквы);

– Буквы, расположенные между ‘&’ и ‘;’ не изменяются. Сделано для того, чтобы не обрабатывались спецсимволы html ( , — и т.п.)

Версия 1.0:   crazy-titles.zip (1,1 KiB, 166 hits) 22.11.2013
 

Установка:

Скопируйте содержимое архива crazy-titles.zip в папку \wp-content\plugins.

Активируйте “Crazy Titles” в админке в меню “Плагины”.

 

Создание плагина WordPress

Перед вами стоит задача – создать плагин WordPress. И вы знаете что он должен делать.

С чего начать?

 

1. Имя плагина

В первую очередь – необходимо придумать уникальное имя для плагина. Даже, если вы пишите модуль для собственных нужд и не собираетесь его массово распространять, все равно рекомендую позаботиться о том, чтобы это имя было уникальным. Проверьте нет ли уже плагина с таким названием на сайте wordpress.org или поищите в Google.

В случае, если желаемое название “занято” – вы можете добавить к имени плагина какой-то префикс. Например, если бы плагин Crazy Titles уже существовал, тогда своё “творение” я бы назвал YAF Crazy Titles. Префикс YAF – это мои инициалы на английском. Кстати, может даже лучше, придумать какой-то префикс и добавлять его ко всем своим плагинам. Таким образом, продвигая свой бренд. Если ваши плагины придутся по душе пользователям, то префикс будет узнаваем и станет популярен. В противном случае – придумаете себе другой бренд =)

 

2. Файлы плагина

Плагин может состоять из одного файла и тогда он ложится непосредственно в папку \wp-content\plugins. Имя файла должно быть связано с названием плагина. Например, crazy-titles.php. Но, давайте будем сразу ориентироваться на создание серьезных плагинов и привыкать хранить все файлы (или даже один файл) плагина в отдельной папке. Папку называем также, как и плагин и создаем в ней главный файл плагина. В моём случае получается такой путь к файлу плагина \wp-content\plugins\crazy-titles\crazy-titles.php

 

3. Файл Readme.txt

Если вы захотите выложить свой плагин для всеобщего пользования на сайт wordpress http://wordpress.org/extend/plugins/, то нужно будет еще создать файл readme.txt в формате, указанном по следующей ссылке http://wordpress.org/extend/plugins/about/readme.txt.
 

4. Домашняя страница плагина

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

Пусть эта страница будет домашней для Crazy Titles. Заходите в гости! =)
 

5. Стандартная информация о плагине

Наконец-то, открываем наш главный файл плагина crazy-titles.php! Но, тут опять – пара формальных моментов: в начале файла должен быть стандартный заголовок и далее следовать информация о лицензии.

 

6. Программирование плагина

Вот теперь добрались до самой сути – заставим наш плагин выполнять поставленную задачу.

Мой первый плагин должен изменить внешний вид заголовка. За вывод заголовков в WordPress отвечает функция the_title(). Для изменения результатов работы функции the_title() мы прикрепим к ней дополнительные инструкции. Т.е., будем использовать систему зацепок или хуков (от англ. hook – крючок, зацепка).

Функция ядра the_title будет “цеплять” код из нашего плагина, который предназначен именно для неё.  То что код предназначен для конкретной функции задается в плагине с помощью add_filter.

Обращаю внимание, что не все функции ядра WordPress имеют “крючки” для того, чтобы “зацепить” дополнительные инструкции. Такие функции должны содержать в своем коде apply_filters (применить фильтры). Именно apply_filters заставляет функцию проверять наличие дополнительных инструкций для неё. Вот здесь можно посмотреть полный перечень функций ядра WordPress, которые обязаны проверять наличие дополнительного кода для них:  http://codex.wordpress.org/Plugin_API/Filter_Reference

Итак, что будет происходить после активации плагина Crazy Titles? Функция the_title выполняет прописанный в ней код, доходит до проверки наличия дополнительных инструкций. Находит, что в нашем плагине для неё есть дополнительный код. Выполняет этот код и только после этого возвращает результат своей работы.

Возникает вопрос, что будет, если в другом плагине тоже будет дополнительный код для функции the_title. Дело в том, что при прикреплении доп. кода в функции add_filter третьим параметром можно задать приоритет (по-умолчанию, он равен 10). А вот если приоритеты будут равны, тогда я пока не могу сказать какой дополнительный код выполнится раньше, а какой позже. Надо будет поэкспериментировать.

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

Лично мне понравилось создание плагина WordPress! Надеюсь, вам тоже! =)
Всем желаю хорошо зарабатывать только любимым делом!

Понравилась статья? Не забудьте поделиться с друзьями и коллегами:

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

5 комментариев к записи “Плагин Crazy Titles”

  1. Павлуха

    Хорошая идея. Сделал анонс у себя для популяризации плагина. ;) Любители заголовков в стиле crazy titles должны хлопать в ладоши от радости. :)

    Попробовал. Есть “косячок” на стыке совместимости с плагином “ВП Типограф Лайт”. Этот типограф в заголовке, например, “Новый год на острове Панган — хорошая идея?” заменяет ” -” на ” —”, превращая чёрточку в полноценное тире и препятствуя его отрыву от предыдущего слова при возможном переносе строк. После обработки закого заголовка твоим скриптом получается “НоВыЙ ГоД На оСтРоВе пАнГаН&NbSp;&MdAsH; хОрОшАя иДеЯ?” Также ожидаем страшилку при использовании кавычек в заголовке. Думаю, доработать труда не составит.

    Ещё, на мой взгляд, возможно было бы прикольней, если бы каждое слово начиналось с заглавной буквы, кроме однобуквенных (союзов и предлогов). ВоЗмОжНо…

    • Алексей Ершов

      Спасибо за проявленный интерес, анонс и замечания!

      Насчет того, чтобы каждое слово начиналось с заглавной буквы – у самого была такая идея, но потом не стал “морочиться”, поскольку не думал, что Crazy Titles кого-то заинтересует. =)

      Теперь с удовольствием исправлю и постараюсь реализовать прочие доработки. Тем более, все-равно, планировал углубиться в создание плагинов для WordPress.

  2. Xstroy

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

  3. Анатолий

    А зачем нужны такие заголовки?

    • Алексей Ершов

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

Оставить комментарий

Для размещения кода в комментарии используйте теги <pre> </pre>, например:


Подписаться, не комментируя