20 Ноябрь 2011

Создание плагина для WordPress. Часть 1

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

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

Сторонними разработчиками уже написано множество разнообразных плагинов. Некоторые из них стали необходимыми компонентами для нормального функционирования блога:

  • All in One SEO Pack – позволяющий легко задавать требуемые title, keywords и description для статей и страниц.
  • WordPress Related Posts – позволяющий автоматизировать вывод ссылок на публикации схожей тематики, что благоприятно влияет на глубину просмотра сайта посетителем, а также улучшает внутреннюю перелинковку.
  •  WordPress Database Backup – автоматизация резервного копирования базы данных.
  • Google XML Sitemaps – генерирует карту сайта, облегчающую поисковикам задачу индексации блога.
  • Antispam Bee – простецкий плагин, борющийся со спамом в комментариях на «ура».
  • Highlight Author Comments – выделяет комментарий автора поста в общем списке комментов.
  • SyntaxHighlighter Evolved – позволяет правильным образом оформлять вставки программного кода в публикации.
  • MaxCache – отличный плагин, ускоряющий работу блога и снижающий нагрузку на хостинг. Мой блог отказался работать на десятидолларовом хостинге от Мастерхоста при увеличении трафика до 900 посетителей/сутки. Установка кеша решила данную проблему. Но теперь я переехал на выделенный сервак, позволяющий не задумываться над проблемой кеширования вообще.

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

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

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

Тема программирования уже затрагивалась в бесплатном видеокурсе по PHP.

Постановка задачи

По традиции предлагаю приступить к изучению на основе реальной задачи: написать плагин для интеграции платежной системы Интеркасса в блог на wordpress.

Как вы могли заметить, на моем блоге имеется возможность воспользоваться платными услугами быстрого скачивания видеокурсов. Задача оплаты решалась посредством сервиса Digiseller. Данный сервис позволяет легко подключить платежную систему WebMoney к блогу.

Но Digiseller имеет явные минусы:

  • Оплата возможна только посредством WebMoney.
  • Продавая ссылки на скачивание видеокурсов я вынужден отдавать пользователю реальный URL-адрес архива, без возможности генерации псевдоссылок, уникальных для каждого посетителя.

Однако простота и быстрота реализации прельщает и я долгое время пользовался данным решением. Я даже опубликовал инструкцию по работе с Digiseller.

Но пришло время изменить старому решению в пользу удобства посетителей.

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

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

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

Почему именно Интеркасса – данный сервис позволяет оплачивать услуги всеми популярными платежными системами (включая американский лидер рынка PayPal), а также он работает с терминалами Украины, что особенно приятно, т.к. я проживаю в Мариуполе.

План первого видеоурока курса:

  1. Постановка задачи.
  2. Создание заготовки плагина.
  3. Хуки (Hooks).
  4. Хранение настроек плагина средствами WordPress.

Видеоурок

Скачать видеоурок (*.wmv, 39.6 МБ).

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

Перечень хуков WordPress здесь (анл.).

Исходники плагина можно скачать в четвертой публикации курса. Доработанную бесплатную версию плагина, улучшенную платную и инструкцию по установке/настройке можно найти на странице «Плагин WordPress для Интеркассы».

Следующая публикация курса >>

С уважением, Андрей Морковин.