Бетке Сергей: iT блог. Пишем плагин для wordpress
Пишем плагин для WordPress: часть 6, пишем readme.txt
Наш плагин уже умеет кое-что: он пишет свои параметры в базу данных, предоставляет инструмент для просмотра и редактирования параметров, и пишет комментарий в head страницы :-). Закончим своеобразный “шаблон” плагина – напишем readme.txt.
Итак, пишем readme.txt: Писать будем по частям, в конце статьи приведу файл целиком. Приступим.
Заголовок файла readme.txt
Приведу сначала шаблон заголовка:
=== Plugin Name === Contributors: markjaquith, mdawaffe (this should be a list of wordpress.org userid's) Donate link: http://example.com/ Tags: comments, spam Requires at least: 2.0.2 Tested up to: 2.1 Stable tag: 4.3 Here is a short description of the plugin. This should be no more than 150 characters. No markup here. == Description == This is the long description.Первый раздел – идентификация и описание плагина. Цитирую readme нашего плагина-примера, после чего поясню.
Теперь поясняю по шагам:
- Пишем идентификатор нашего плагина. Следует повторить то, что мы указали в первой строке “шапки” php файла нашего плагина. Причём знаки === важны и не могут быть опущены. Поддерживается только латиница.
- Contributors. В этом поле следует указать Вашу учётную запись на ресурсе wp.org или wp-plugins.org. Для начала – регистрируемся. Полезную информацию и живые ссылки смог получить только здесь. Итак – идём на сайт http://wordpress.org/extend/plugins/ и регистрируемся. Саму процедуру регистрации описывать не буду, скажу лишь следующее: рекомендую в качестве username использовать Ваш же e-mail (гарантированно ни с кем не будете пересекаться). Также должен предупредить: письмо с паролем после регистрации приходит с существенной задержкой, так что приготовьтесь ждать. Я зарегистрировался под username [email protected].
- Donate link. Укажите здесь ссылку на страницу, на которой Вы принимаете благодарности в денежном выражении. У нашего плагина подобного сервиса нет, поэтому я указал url страницы, на которой будет статья о самом плагине и его обсуждение.
- Tags. Введите здесь через запятую ключевые слова, что позволит потенциальным пользователям Вашего плагина его найти в репозитории wordpress.
- Requires at least. Здесь мы должны указать минимальную версию wordpress, на которой наш плагин будет работать. Учитывая тот факт, что мы использовали API WordPress 2.7 и указываем – 2.7.
- Tested up to. Речь также о версии WordPress, до которой включительно Вы тестировали Ваш плагин.
- Stable tag. Рекомендую оставлять trunk. Или же можно указать что-либо иное (например — версию 1.2). В этом случае в репозитории wordpress Ваши потенциальные пользователи будут видеть содержимое readme.txt не последнего, а из ветки tags/1.2 (если Вы её не забудете создать). И качать они будут версию плагина именно оттуда, а не из trunk. Это полезно только в том случае, когда Вы сохраняете в репозиторий непротестированные версии. Если же Вы их тестируете до публикации в репозиторий, рекомендую оставить trunk. Также Вы можете временно «перекинуть» пользователей на предыдущую версию, если вдруг обнаружили ошибку в последней, а исправить быстро возможности нет.
- Далее следует краткое описание плагина (до 150 символов). Именно данное “краткое” описание и будет видно пользователям при поиске плагина в консоли управления wordpress. При заполнении данного и последующих текстовых полей есть возможность использовать разметку markdown. Благодаря использованию предлагаемой разметки, Вы сможете добавить в описание и ссылки, и выделения. Должен Вам сказать – достаточно богатый разметки. В моём случае таким образом добавлена ссылка на страницу about моего блога.
Раздел Description
В данном разделе Вы опять таки можете использовать синтаксис markdown для разметки. Здесь Вы уже вправе размещать достаточно длинное описание функционала плагина. Следует помнить: если Вы включаете html теги в описание, перед ними не должно быть пустых строк. Иначе они и будут распознаны как html теги, а не как текст (таков уж markdown).
Installation
== Installation == 1. Upload `cos-search-provider.php` to the `/wp-content/plugins/` directory 1. Activate the plugin through the 'Plugins' menu in WordPress 1. Go to COS Search provider optionsВ этом разделе Вам следует описать процедуру установки и активации Вашего плагина. И дополнительные действия, если они требуются (внесение изменений в файлы темы и так далее).
P.S. таким образом (1.) в синтаксисе markdown мы создали нумерованный список.
FAQ
== Frequently Asked Questions == = What is it Search Provider = Please read about search provider for Internet Explorer and Mozilla at [MSDN](http://msdn.microsoft.com/library/cc848862(VS.85).aspx). = Second Question = Thank You!Таким образом Вы можете создать краткий FAQ по Вашему плагину. Пользуйтесь данной возможностью – этот FAQ будет доступен пользователям непосредственно в репозитории wordpress. Можно и ссылочки на Ваш сайт добавить – лишними они, как известно, не бывают :-).
Screenshots
== Screenshots == 1. This screen shot description corresponds to screenshot-1.png. Note that the screenshot is taken from the directory of the stable readme.txt, so in this case, `/tags/4.3/screenshot-1.png`В этом разделе мы имеем возможность разместить ссылки и краткие описания скриншотов нашего плагина или результатов его работы. Опять-таки, когда размещу уже рабочий плагин – приведу и текст полностью и результат в репозитории wordpress.
Журнал регистрации изменений и рекомендации по обновлению
== Changelog == = 1.0 = * First version. == Upgrade Notice == = 1.0 = This version fixes a security related bug. Upgrade immediately.Необязательные разделы
== License == The COS Search provider plugin is copyright © 2010 with [GNU General Public License][] by Sergey S. Betke. This program is free software; you can redistribute it and/or modify it under the terms of the [GNU General Public License][] as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. [GNU General Public License]: http://www.gnu.org/copyleft/gpl.html == ToDo == The next version or later: 1. Ability to create and edit provider.xml file. 1. Ability to specify the location provider.xml file, and automatically determination the location for file.Проверяем полученный readme.txt
Прежде, чем двигаться дальше, мы должны проверить наш readme.txt. Для этих целей нам предоставлен специальный сервис http://wordpress.org/extend/plugins/about/validator/. Загоняем наш readme в валидатор. Результат видим на рисунке справа. Проверку прошли успешно :-). Теперь мы уже имеем возможность публиковать свой плагин. Но об этом – в следующих статьях.
Дополнительные материалы
Рекомендую ознакомиться со следующими статьями на тему создания и публикации собственного плагина:
sergey-s-betke.blogs.csm.nov.ru
Пишем плагин для WordPress. Интернационализация (часть 6).
Написание плагина для WordPress - русификация плагина.
Прежде всего попрошу прощения у своих читателей за долгую задержку между публикациями частей руководства «Как написать плагин для WordPress» — праздновал день рождения и не смог выкроить минутку.Но теперь праздники благополучно пережиты, настал момент поговорить о продолжении написания своего WordPress плагина. А именно — о русификации нашего плагина.
Как вы помните из прошлой части (Пишем плагин для WordPress. Функциональная составляющая), весь вывод текста в написанном нами плагине мы оформили в виде вызова стандартной wordpress функции _e($message, $domain).Всё, что теперь нужно сделать для того, чтобы русифицировать wordpress плагин, я перечислю по пунктам:
- В первую очередь стоит ознакомиться с официальным руководством по переводу компонентов WordPress. В нём, в частности, подробно рассказано, каким ПО создавать и редактировать файлы перевода для WordPress (для плагинов, естественно, это тоже работает).
- Необходимо создать для плагина POT-файл, представляющий собой карту переводов для всех сообщений, нуждающихся в переводе. Далее в каталог с плагином необходимо поместить файл перевода (MO-файл), назвав его domain-ll_CC.mo . ll_CC здесь — название нужно локали для перевода (для русского перевода это ru_RU), а domain логичнее всего присвоить имя нашего плагина. Таким образом, файл получит имя example_plugin-ru_RU.mo.
- Внутри переводимого wordpress плагина нужно загрузить перевод для текущей локали и текстовое пространство путём вызова функции load_plugin_textdomain до первого вызова gettext (_e() или __()). Выглядеть загрузка локали плагина может например так:
function init_textdomain() { if (function_exists('load_plugin_textdomain')) { load_plugin_textdomain('example_plugin', 'wp-content/plugins/example_plugin'); } }
Как видите — никаких особых сложностей русификация правильно написанного wordpress плагина вызывать не должна. МО-файл может быть создан при помощи штатного набора утилит GNU Gettext, ими же можно создавать и редактировать PO-файлы. Также есть возможность воспользоваться кросс-платформенной бесплатной программой для создания и редактирования PO и MO файлов poEdit.
Нам же остаётся только рассмотреть вопрос добавления собственноручно написанного плагина в репозиторий плагинов WordPress, что тоже очень несложно.
Удачи и пусть написанный вами плагин для WordPress станет популярным!
Другие заметки по созданию плагина для WordPress
Рубрики: seo, Блоггинг, Кодинг | Метки: plugin, wordpress, блог, программинг | Комментариев нет »dimio.org
Создание плагина WordPress - Видеоурок
Приветствую вас, уважаемый читатель! Я очень рад, после перерыва практически в месяц, выйти на связь. Предлагаю с новыми силами продолжить изучение работы с движком 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), а также он работает с терминалами Украины, что особенно приятно, т.к. я проживаю в Мариуполе.
План первого видеоурока курса:
- Постановка задачи.
- Создание заготовки плагина.
- Хуки (Hooks).
- Хранение настроек плагина средствами WordPress.
Видеоурок
Скачать видеоурок (*.wmv, 39.6 МБ).
Подробно познакомится с вариантами создания настроечной страницы плагина можно здесь (немного русского, в основном англ.).
Перечень хуков WordPress здесь (анл.).
Исходники плагина можно скачать в четвертой публикации курса. Доработанную бесплатную версию плагина, улучшенную платную и инструкцию по установке/настройке можно найти на странице «Плагин WordPress для Интеркассы».
Следующая публикация курса >>
С уважением, Андрей Морковин.
www.sdelaysite.com