自作プラグインをPlugin Directoryに登録する

自作プラグインをPlugin Directoryに登録するWordPress用のプラグインを自作したならば、「wordpress.com」の「Plugin Directory」に登録する事をお勧めする。

世界中のWordPressユーザーの多くが、この「Plugin Directory」で、プラグインを探しており、広くプラグインの存在を知ってもらうには最適だからだ。

また、WordPressの管理画面から「新規追加」を実行した場合も、ここからプラグインを検索している。

今回は「Plugin Directory」への登録方法について解説する。

1.ファイルの準備

まずは、自作のプラグインが存在することが条件になるが、その他にも下記の条件を満たしている必要がある。

  • 付加するライセンスは、GPLv2相当でなければならない。
  • 違法なもの、道義に反するものであってはならない。
  • 外部に公開されている部分に、明確にユーザーに許可を求めずに外部サイトへのリンクを表示してはいけない。”powered by”のようなリンクは不可。

プラグイン自体の作成ガイドラインとしては、「WordPress Codex 日本語版」の「プラグインの作成」も参考になる。

もし、「wordpress.org」のIDをまだ取得していないなら、ユーザー登録を行い、IDを取得しよう。このIDは、フォーラムでの発言や、プラグイン評価にも利用できる。

以上の準備に問題がないなら、プラグインの登録申請を行う。

入力フォームは、英語で記述する必要がある。

プラグインの登録申請

  • Plugin Name・・・プラグインのタイトル。
  • Plugin Description・・・プラグインの説明。

登録の許可が下りると、下記のような文面の承認メールが届く。

redcocker,

Your plugin hosting request has been approved.

Within one hour, you will have access to your SVN repository at

http://plugins.svn.wordpress.org/wp-syntaxhighlighter/

with your WordPress.org/bbPress.org username and password (the same one you use on the forums).

Here's some handy links to help you get started.

Using Subversion with the WordPress Plugins Directory http://wordpress.org/extend/plugins/about/svn/

FAQ about the WordPress Plugins Directory http://wordpress.org/extend/plugins/about/faq/

WordPress Plugins Directory readme.txt standard http://wordpress.org/extend/plugins/about/readme.txt

readme.txt validator:

http://wordpress.org/extend/plugins/about/validator/

Enjoy!

私の経験では、申請から数日以内にメールが届いたが、もう少し時間がかかる場合もあるかもしれない。

メールの文面の中でも、登録するプラグインのURLを表す

http://plugins.svn.wordpress.org/wp-syntaxhighlighter/

は重要で、プラグインファイルのアップロードの準備で必要になる。

また、URLのうち、「wp-syntaxhighlighter」の部分は、プラグインファイルを収めるフォルダの名前を表してる。

「Plugin Directory」にアップロードする際にフォルダに収めた状態でアップロードする必要はなく、「Plugin Directory」でZIPファイル化される際に、この名前のフォルダにプラグインファイルが自動的に収められた上でZIPファイル化される。

上記の例では、プラグインがWordPressにインストールされると、プラグインファイルは、

/wp-content/plugins/wp-syntaxhighlighter/

ディレクトリに収まる。

もし、作成したプラグインがディレクトリ構成に依存するなら、このディレクトリ構成で動作するようにプラグインを修正する。

また、メインのPHPファイルには、下記のフォーマットで情報を記述しておく必要がある。

<?php
/*
Plugin Name: WP SyntaxHighlighter
Plugin URI: http://www.near-mint.com/blog/software
Description: This plugin is code syntax highlighter based on <a href="http://alexgorbatchev.com/SyntaxHighlighter/">SyntaxHighlighter</a> ver. 3.0.83 and ver. 2.1.382. Supported languages: Bash, C++, CSS, Delphi, Java, JavaScript, Perl, PHP, Python, Ruby, SQL, VB, XML, XHTML and HTML etc.
Version: 1.3.5
Author: Redcocker
Author URI: http://www.near-mint.com/blog/
*/

//処理を記述。

?>
  • Plugin Name・・・プラグインのタイトル。
  • Plugin URI・・・プラグインのサイトのURL。
  • Description・・・プラグインの説明。プラグインの機能などを簡潔に。
  • Version・・・プラグインのバージョン。数字と「.」のみの表記が好ましい。
  • Author・・・プラグインの作者の名前。原則「wordpress.org」のIDと同じもの。
  • Author URI・・・作者のサイトのURL。

英語での記述が好ましいが、日本語ではダメと言うわけではない。

プラグインファイルには、決められた書式の「readme.txt」ファイルを含める必要があるのでこれを作成する。

readme.txtのサンプル

各プラグインページの説明文は、この「readme.txt」を元にしているので、既存のプラグインのページの記述も参考になる。

この「readme.txt」も日本語で記述してはいけない訳ではないが、英語で記述することが望ましい。

英語ということで、敷居が高いと感じるかもしれないが、中学生レベルの英語表現で十分だ。

多少間違っていようが、気にする必要はない。要は、平易な表現で構わないので、プラグインの機能や使い方が相手に伝わればそれで良い。

下記は、私が公開しているプラグインのページである。

参考になるか分からないが、平易な表現しか使っておらず、かつ、後で見て自分でも間違いに気付くレベルだ。

しかし、書き出しの部分は、「Plugin Directory」のシステム上も重要なラベルとなっているので、注意して記述すること。

=== WP SyntaxHighlighter ===
Contributors: redcocker
Donate link: http://www.near-mint.com/blog/donate/
Tags: syntaxhighlighter, code, snippet, syntax, highlight, highlighting
Requires at least: 3.0
Tested up to: 3.1.3
Stable tag: 1.3.5
  • Contributors・・・プラグインの作者の名前。「wordpress.org」のIDと同じもの。
  • Donate link・・・寄付を求める場合、そのページのURL。省略しても良い。
  • Tags・・・関連するキーワードをタグとしてコンマ区切りで記述する。
  • Requires at least・・・プラグインが動作するWordPressのバージョン
  • Tested up to・・・動作の確認が取れているWordPressのバージョン。
  • Stable tag・・・プラグインのバージョンを数字と「.」で記述。「trunk」と書いても良い。

作成が終わったら、「readme.txt validator」でチェックする。

ただし、「readme.txt validator」のチェックに合格するためには、殆どの項目を埋める必要があるので、項目の省略がある場合は、重大なエラーがでなければOKと考えれば良い。

説明文の「Screenshots」で画像を表示させる場合は、プラグインファイルに画像ファイルも含める必要がある。

画像ファイルの名前は、「screenshot-1、screenshot-2・・・screenshot-5」とすること。拡張子は「png、jpg、jpeg、gif」。

続いて、ファイルのアップロードの準備を行う。

2.アップロードの準備

作成したプラグインは「Plugin Directory」にアップロードする必要があるが、そのために、特別なツールを使用する。

作業用のPCのOSがWindowsの場合は「TortoiseSVN」をダウンロードする。

32ビット版と64ビット版が用意されているので、自分の環境に合ったものを選び、同じページで配布されてる日本語の「Language pack」もダウンロードしておこう。

まず、「TortoiseSVN」本体をインストールし、続いて「Language pack」をインストールする。

インストールが完了したら、デスクトップ上で右クリックしてメニューを表示し、「TortoiseSVN」->「Settings」を実行する。

TortoiseSVNのメニュー

「Language」で日本語を選択し、OKをクリックすれば、メニューなどが日本語表示なる。

TortoiseSVNの設定画面

続いて、ファイルのアップロードの準備を行う。

まず、好きな場所に、作業用のフォルダを適当な名前で作成する。

作成したフォルダ上で右クリックして、「SVNチェックアウト」を実行する。

TortoiseSVNでチェックアウトを実行

「リポジトリのURL」に、承認メールに記載されていたプラグインのURLを入力し、OKをクリックする。

認証画面では、「wordpress.org」のIDとパスワードを入力すれば良い。

3.ファイルのアップロード

チェックアウトが完了すると、作業用フォルダの中に「branches」、「tags」、「trunk」という3つのフォルダが出来るので、「trunk」フォルダの中に、アップロードするプラグインファイルをコピーする。

この時、メインのPHPファイルは、「trunk」フォルダのルートに置かれていなければならない。

メインのPHPファイル以外を収めるフォルダを作って階層構造することは出来るが、プラグイン全体収めるフォルダを作成する必要はない。先にも書いたように、ZIPファイル化される際に、自動的にファルダに収められる。

コピーが完了したら、いよいよファイルをアップロードする。

手順は簡単で、「trunk」フォルダ上で右クリックし、「SVNコミット」を実行する。

TortoiseSVN コミット

この時、全てのファイルが選択されているか確認すること。「全て選択/全て非選択」にチェックすることを、習慣付けたほうが良いかもしれない。

メッセージには、変更点や作業内容を記入したほうが良い。

誤って「tags」の中身を消してしまっていた事があるが、どのリビジョンで何を行ったか分からないために復旧に苦労した。リビジョンが特定できれば、過去ログから簡単に復旧出来たのだが・・・。全てのログ(更新履歴)は保存されているので、本来は、過去の特定のリビジョンに戻したり、過去のリビジョンからタグやブランチを作成することも簡単に出来る。

OKをクリックすると「wordpress.org」へのファイル転送が始まり、「wordpress.org」のリポジトリの「trunk」ディレクトリに、プラグインファイルが格納された。

しかし、今後のアップデートも考慮し、バージョン毎に管理やダウンロードが出来るようにするために、タグ付けを行う。

つまり、この作業により、バージョン毎にディレクトリを分けて、サーバー上で各バージョンのファイルが保管される。

特に「readme.txt」の「Stable tag」で「trunk」ではなく、バージョンを指定した場合は、原則としてタグ付けを行うべきだ。

タグ付けを行うために「trunk」フォルダ上で右クリックし、「TortoiseSVN」->「ブランチ/タグ」を実行する。

TortoiseSVN タグ付け

「先URL」には

http://plugins.svn.wordpress.org/wp-syntaxhighlighter/trunk

と言ったURLが入力されているが、

http://plugins.svn.wordpress.org/wp-syntaxhighlighter/tags/1.3.5

「trunk」の部分を「tags」に変え、続けて「/1.3.5」など「/バージョン」形式でディレクトリを入力し、OKをクリックする。

これで「wordpress.org」のリポジトリの「tags」ディレクトリにタグが作成され、その中に「trunk」ディレクトリのファイルが転送された。

「tags」ディレクトリの保存された各バージョンのファイルは、プラグインページの「Other Versions »」でダウンロードする事が出来る。

PC上の「tags」フォルダ上で、右クリックし「SVN更新」を実行すると、PC上の「tags」フォルダにもサーバー上の内容が反映されので、実際、どのように保存されているか分かるだろう。

以上で、アップロード作業は完了である。

アップロードした内容が実際に反映されるまでには、数十分ほど掛かるかもしれないが、暫くすると「wordpress.org」の「Newest」にリストされるはずだ。

4.その他

新しいバージョンのファイルをアップロードする際も、同様に「trunk」フォルダにプラグインファイルを上書きし、「SVNコミット」を実行し、続けて、「TortoiseSVN」->「ブランチ/タグ」を実行して、新しいタグを作成すれば良い。

PC上の「trunk」フォルダが基本的に作業フォルダとなり、変更の度にコミットすれば、リポジトリ上の「trunk」には、(リリースと言う意味ではなく)常に最新のバージョンが格納される。

「tags」は、リリースされた各バージョンを保存する場所になる。

ちなみに、「readme.txt」の「Stable tag」で「trunk」と指定した場合は、常に「trunk」ディレクトリのファイルが最新とみなされ、これが最新のダウンロードファイルとなる。ただし「trunk」とした場合、コミットした変更は必ず、ダウンロードファイルに反映されるため、正式なリリース時以外は、実質的にコミット出来なくなる。

「readme.txt」の「Stable tag」でバージョンを指定した場合は、「tags」ディレクトリ内の対応するタグに保管されたファイルが最新のダウンロードファルとなる。そして「trunk」ディレクトリ内のファイルは、最新の「Development Version」となる。

つまり、「readme.txt」の「Stable tag」に変更がない限り、変更をコミットしてもダウンロードファイルには反映されない。正式なリリースでなくても、都度変更をコミットでき、リポジトリに反映させることが可能である。加えて、ユーザーは、開発途上のバージョンもダウンロード出来るメリットがある。

「readme.txt」の「Stable tag」でバージョンを指定したにもかかわらず、「tags」ディレクトリ内に対応するタグがない場合は「trunk」ディレクトリ内のファイルが最新のダウンロードファイルとして使われるようだ。

作成したタグを消したい場合は、「tags」フォルダ内の消したいタグのフォルダ上で、右クリックし、「TortoiseSVN」->「削除」を実行、続いて「tags」フォルダ上で「SVNコミット」を実行すれば、「wordpress.org」のリポジトリからも削除される。



WordPress, ネット・PC, , , Permalink