В прошлой статье я расписывал процесс создания плагина для WordPress. Но вы же понимаете, что никто не будет скачивать плагин из какого-то стороннего сайта. Нам нужно положить его в официальный репозиторий WordPress. К счастью, это можно сделать достаточно легко и бесплатно.
Итак, у нас есть:
- Готовый плагин с исходниками на GitHub.
- Много энтузиазма.
Для начала нам нужно добавить файл “readme.txt” в наш репозиторий на GitHub. Этот файл имеет определённую структуру, расписанную на сайте WordPress. На основе него формируется страница плагина в официальном репозитории WordPress.Существует онлайн сервис для проверки этого файла.
Особо ничего сложного нет. Мой файл получился таким:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
=== Urvanov richtext addfmt === Contributors: urvanov Donate link: https://urvanov.ru Tags: format, editor Requires at least: 5.0.3 Tested up to: 5.0.3 Stable tag: 0.0.1 Requires PHP: 7.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Adds additional buttons to Gutenberg editor. == Description == Adds additional buttons to Gutenberg format toolbar for SUP and SUB HTML tags. == Installation == 1. Upload the plugin files to the `/wp-content/plugins//home/fedya/php-projects/urvanov-richtext-addfmt/urvanov-richtext-addfmt` directory, or install the plugin through the WordPress plugins screen directly. 1. Activate the plugin through the 'Plugins' screen in WordPress == Frequently Asked Questions == = We don't have any FAQ yet. = :) == Screenshots == 1. Buttons in format toolbar == Changelog == = 0.1 = * First release == Upgrade Notice == Make sure to upgrade to the latest release when possible to ensure you avoid bugs others have found and enjoy new features. |
Теперь запакуем в ZIP-архив наш плагин вместе с “readme.txt”. В ZIP-архив нужно вкладывать только файлы, которые должны попасть в плагин и сам “readme.txt”. Нам не нужны всякие “.gitignore”, “.git”, “README.md” и прочие.
Логинимся в wordpress.org и загружаем готовый ZIP-архив на странице добавления нового плагина.
Если вы выбрали нормальное имя плагина и не нарушили никаких правил, то через несколько дней вам придёт письмо на почту, что плагин успешно принят:
Congratulations, your plugin hosting request for Urvanov richtext addfmt has been approved.
Within one hour you will have access to your SVN repository with the WordPress.org username and password you used to log in and submit your request. Your username is case sensitive.
https://plugins.svn.wordpress.org/urvanov-richtext-addfmt
Here are some handy links to help you get started.
WordPress Plugin Directory Guidelines:
https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/
Using Subversion with the WordPress Plugin Directory:
https://developer.wordpress.org/plugins/wordpress-org/how-to-use-subversion/
FAQ about the WordPress Plugin Directory:
https://developer.wordpress.org/plugins/wordpress-org/plugin-developer-faq/
WordPress Plugin Directory readme.txt standard:
https://wordpress.org/plugins/developers/#readme
A readme.txt validator:
https://wordpress.org/plugins/developers/readme-validator/
Plugin Assets (header images, etc):
https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/
If you have issues or questions, please reply to this email and let us know.
Enjoy!
--
The WordPress Plugin Directory Team
https://make.wordpress.org/plugins
Теперь нам нужно закачать наш плагин в SVN. Нам выделяют репозиторий по адресу:
http://plugins.svn.wordpress.org/<имя плагина>/
Например, мне дали вот такой:
https://plugins.svn.wordpress.org/urvanov-richtext-addfmt
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ mkdir TEMP $ svn co https://plugins.svn.wordpress.org/urvanov-richtext-addfmt TEMP A TEMP/assets A TEMP/branches A TEMP/tags A TEMP/trunk Checked out revision 2032116. $ cd TEMP $ ls -la итого 28 drwxr-xr-x 7 fedya fedya 4096 фев 16 17:04 . drwxr-xr-x 6 fedya fedya 4096 фев 16 17:03 .. drwxr-xr-x 2 fedya fedya 4096 фев 16 17:04 assets drwxr-xr-x 2 fedya fedya 4096 фев 16 17:04 branches drwxr-xr-x 4 fedya fedya 4096 фев 16 17:03 .svn drwxr-xr-x 2 fedya fedya 4096 фев 16 17:04 tags drwxr-xr-x 2 fedya fedya 4096 фев 16 17:04 trunk |
Переместим в trunk файлы из нашего ZIP-архива с плагином и добавим их в SVN:
1 2 3 4 |
$ svn add trunk/* A trunk/readme.txt A trunk/urvanov-richtext-addfmt.js A trunk/urvanov-richtext-addfmt.php |
Сделаем commit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ svn ci -m 'Adding first version of my plugin' Authentication realm: <https://plugins.svn.wordpress.org:443> Use your WordPress.org login Password for 'fedya': **************************** Authentication realm: <https://plugins.svn.wordpress.org:443> Use your WordPress.org login Username: urvanov Password for 'urvanov': *************************** Adding trunk/readme.txt Adding trunk/urvanov-richtext-addfmt.js Adding trunk/urvanov-richtext-addfmt.php Transmitting file data ...done Committing transaction... Committed revision 2032121. |
Каждый раз, когда мы выпускаем новый релиз, мы должны создавать tag для этого релиза, чтобы пользователям было легче выкачивать последний релиз и старые. Имена tag-ов должны быть в формате версий с точками. Мы выпустим версию 0.1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ svn cp trunk tags/0.1 A tags/0.1 $ svn ci -m "taggig version 0.1" Adding tags/0.1 Adding tags/0.1/readme.txt Adding tags/0.1/urvanov-richtext-addfmt.js Adding tags/0.1/urvanov-richtext-addfmt.php Committing transaction... Committed revision 2032122. $ svn up Updating '.': At revision 2032122. $ svn stat |
Не забудьте после этого в trunk в файле “readme.txt” указать tag стабильной версии 0.1 и закоммитить его:
1 2 3 4 |
$ svn stat M trunk/readme.txt $ svn ci -m "stable tag 0.1" |
Наш плагин уже должен отображаться на своей странице https://wordpress.org/plugins/urvanov-richtext-addfmt/
Не хватает только скриншота. В нашем “readme.txt” описан один скриншот с подписью “Buttons in format toolbar”:
1 2 3 |
== Screenshots == 1. Buttons in format toolbar |
Саму картинку нам нужно добавить в assets в SVN назвав его “screenshot-1.png” ( можно с расширением jpg):
1 2 3 4 5 6 7 |
$ svn add assets/screenshot-1.png A (bin) assets/screenshot-1.png $ svn ci -m "screenshot 1" Adding (bin) assets/screenshot-1.png Transmitting file data .done Committing transaction... Committed revision 2032136. |
Готово. Теперь у меня есть свой плагин для WordPress.
Поздравления!
Теперь на званных балах для программистов автор сего блога причислен к аристократии.
Чтобы быть причисленным к высшей титулованной аристократии, плагина, к сожалению не достаточно.
Нужна какая-нибудь крутая система, к которой можно писать плагины