Yuriko.Net 個別記事

WordPress Plugins/JSeries 用更新通知プラグインを作るか
WordPress 2.3 にはプラグインの更新通知機能があるのですが、その対象は WordPress extend に登録したものだけです (そうですよね?Matt の発言で確認)。したがって、拙作の Ktai Style, Weather Journal, Force Wave Dash などは、更新されても通知されません。それでは不便なので、WordPress Plugins/JSeries に登録したプラグインを対象とした更新通知プラグインを作ってみようかと検討しています。
そのとき問題になるのは次の点です。
- プラグインの名前
- 各プラグインの最新版数の取得方法
- WordPress のバージョンごとに利用できるプラグイン版数が違う場合の処理
プラグインの実装うんぬんよりもまず「名前」を決めるのがわたしのスタイルです;-) いい名前を作ることで、プログラミングもはかどるものです。WordPress プラグインの命名ルールは次のようにしています。
- 英数字記号のみとする
- 頭に「wp-」はつけない
- キャメルケースは使わない
- 検索エンジンで候補とする名前を検索して、固有名詞として存在しないことを確認する
「wp-mta」は2番目のルールから外れるのですが、インストールの都合でスクリプトのファイル名を wp-mta.php とせざるを得ないため、名前もそうしました。
さて、更新通知プラグインの名前は「JSeries Notifier」ぐらいが適当でしょうか。この名前だと、更新通知のみならず、新規登録されたプラグインも通知していいかもしれませんね
名前が決まればあとは実装ですが、プラグインの最新バージョンの取得は「リリースファイル・リスト」を読み取るぐらいしかなさそうです。RSS 配信される「最新リリース情報」だと古い情報は出てきませんし……。どちらにしても、WordPress のバージョンによってプラグインの使用可能バージョンが違う場合に、うまく制御できません。どうせ WordPress 2.3 のプラグイン更新通知もそういう制御ができてないので、無視してしまいますか……。
[追記] ちょっと検索してみると、やはり WordPress Plugins Directory に登録されているものが対象でした。そして、更新チェックは api.wordpress.org への HTTP 通信 (REST もどき?) で行なっていて、そのとき WordPress のバージョンを送信しています。つまり、WordPress のバージョンによってプラグインの使用可能バージョンが違うときの処理も行なわれているようです。ううむ。