WordPress プラグインを開発して WordPress.Org に登録するまで

今回 WordPress プラグイン「Thin Out Revisions」を書いて公式リポジトリに登録したわけですが、その辺の流れを書いてみたいと思います。 プラグインを作る動機としては、何かしら個人としてのアウトプットを世間に出したいというのがあったのと、出すならやっぱりグローバルだよね、ってのがありました。 とはいっても私の場合、決して PHP も WordPress も jQuery も熟練者とは言えない状況でした。 それでもプラグインを作ろうとしたきっかけは先のエントリで紹介した「Professional WordPress Plugin Development」で、この内容ががあまりにもよくまとまっていたので、「何か自分でも書いてみたい!」と思ってしまったのです。 そこへ手頃な大きさの課題を見つけることができたので勢いで書きあげてしまいました。

今回作った Thin Out Revisions は、プログラムのボリュームとしては大したことがありません。 しかし、jQuery も Ajax も使ったし、きちんと Nonce も使って (CSRF対策)、I18N も対応しました。 色々な要素が詰まっていますが、「Professional WordPress Plugin Development」がこれらを包括的に取り上げていたおかげで、さほど苦労せず書き上げることができました。 この本がなければプラグインを書いて公式登録することはなかったでしょうから、著者に感謝です。

以下時系列に書いてみます。

9/20 に予てより気になっていた「Professional WordPress Plugin Development」の Kindle 版をダウンロード購入しました。 そして読んでいると自分でもコードを書きたくなり、「そういえばあのリビジョン管理なんとかならないのか」といつも感じていたことを思い出しました。 そこから構想を練り、コードを書き始めました。

最初のモックアップをローカル git リポジトリにコミットしたのが 9/23 になっています。 その後、作業を続け、9/28 の深夜には終わりが見えてきたので、そろそろ公式リポジトリの登録申請をしておくかという状況になりました。

9/29 に申請を行い、wordpress.org のチームとメールのやりとりの後 svn リポジトリが用意されたのが 9/30。 そして 10/1、初めて使う subversion のコマンド (私は cvs -> git) でファイルをアップロードし、無事公式サイト上で公開されることとなりました。

ちょっと焦ったのが svn リポジトリが提供されるよりも先にプラグインパッケージの提出を求められたことです。 「Professional WordPress Plugin Development」での説明順もそうですし、国内開発者のブログ記事でも「まずプラグインの登録申請を行い、後から Subversion をセットアップしてコード登録」という手順になっているので、「リポジトリが用意されるまでに時間がかかりそうだし、早めに申請しておいた方がよいんだろうなあ」と思っていました。 しかし、私の場合は申請後すぐに「プラグインがダウンロード可能な URL を教えるか、ZIP ファイルでプラグインを送ってねー」というメールをもらってしまいました。 ほとんど活動がなかった私のアカウントからの登録申請だったので、チェックが入ったということかも知れません。

ここで「7日間のうちにレスポンスせよ」と期限を切られていたので急いで最後の調整を行い、初回 ZIP を送付し、その間にマイプラグインページを準備します。 1日も経たず readme.txt がないのを指摘をするメールが届いたので、「readme.txt? 何それ?」という状態からマークダウン記法で readme.txt を仕上げて更新 ZIP を再送付しました。 申請から 2日間でこのやりとりを完結させているのですが、wordpress.org の中の人もレスポンスが良かったのは週末だったお陰かも知れません。

まあ、日本人としては readme.txt を仕上げるのにも時間がかかるし、普通の会社勤めでは急にまとまった時間が取れないことも多いでしょうから、プラグインを完成させ、(サイトとして完成させていなくても) プラグインホームページ URL や Donate 用 URL を決めてから登録申請を行った方がよいでしょう。 それと readme.txt の内容も本当は時間をかけてプラグイン検索でヒットしやすい様な文章を狙うべきだったと後から気づきました。

何にせよ、今回の一連のやりとりでいろいろと経験値が貯まったのは確かです。 「手頃な大きさの問題を見つけられたので登録まで行けたんだよな」とも思うので、最初は無理をせず簡単なプラグインを書いて完成させることが重要だと思います。 とは言っても Thin Out Revisions はリビジョン管理好きの人には確実に便利なプラグインに仕上がっており、多くの人に使ってもらえればと思っていますので、興味がある方は是非ダウンロードしてください (宣伝!)。 もし気に入っていただけたら、公式サポートフォーラムで怪しげな英語 (ローマ字?) のやりとりをしましょう!