公開・配布する
完成したプラグインを世界中の人に使ってもらいましょう!readme.txt の作成、WordPress.org への登録方法、SVN によるバージョン管理まで、公開に必要なすべてを解説します。
📝 readme.txt の作成
readme.txt はプラグインの説明書です。WordPress.org のプラグインページに表示される情報が、この1つのファイルから生成されます。
readme.txt の主要セクション
ヘッダー部分(必須)
Requires at least(対応最低WordPressバージョン)、Tested up to(動作確認済み最新バージョン)、Requires PHP(必要なPHPバージョン)は必ず記載しましょう。
== Description ==(説明)
プラグインの機能を詳しく説明します。Markdownに似た記法が使えます。最初の数行が検索結果の要約として表示されます。
== Changelog ==(変更履歴)
バージョンごとの変更内容を記録します。ユーザーが更新前に変更点を確認できるため、必ず記載しましょう。
🎨 プラグインアイコン・バナーの準備
WordPress.org のプラグインページに表示されるビジュアル素材を準備します。
| ファイル名 | サイズ | 用途 |
|---|---|---|
| icon-128x128.png | 128×128px | プラグイン一覧のアイコン(標準) |
| icon-256x256.png | 256×256px | プラグイン一覧のアイコン(Retina対応) |
| banner-772x250.png | 772×250px | プラグイン詳細ページのバナー(標準) |
| banner-1544x500.png | 1544×500px | プラグイン詳細ページのバナー(Retina対応) |
これらのファイルは SVN リポジトリの assets/ フォルダに配置します(後述)。
💡 アイコンは SVG でも OK
PNG の代わりに SVG ファイル(icon.svg)を1つ用意すれば、すべての解像度に対応できます。
🌍 WordPress.org への登録手順
プラグインを公開するには、WordPress.org の審査を通過する必要があります。
ステップ1: WordPress.org アカウントを作成
wordpress.org でアカウントを作成します。すでにお持ちの場合はそのままでOKです。
ステップ2: プラグインを申請する
プラグイン申請ページにアクセスし、プラグインの ZIP ファイルをアップロードします。
ステップ3: レビュー審査を待つ
WordPress.org のチームが手動でコードを審査します。審査には通常1〜2週間かかります。問題があればメールで連絡が来ます。
ステップ4: SVN でファイルを公開
審査が通ると SVN リポジトリが発行されます。SVN を使ってファイルを公開します(後述)。
⚠️ 審査で引っかかりやすいポイント
- nonce による検証がない
- 入力値のサニタイズ・エスケープが不十分
- GPL 互換でないコードやライブラリの使用
- readme.txt の必須項目が不足している
- 他のプラグインと重複するスラッグ名
🔄 SVN(Subversion)の使い方
WordPress.org はバージョン管理に SVN を使っています。Git と似た概念ですが操作方法が異なります。
SVN リポジトリの構造
基本的な SVN コマンド
💡 SVN の代わりに GitHub を使う方法
SVN が難しい場合は、GitHub Actions を使って GitHub から WordPress.org SVN に自動デプロイする方法があります。10up/action-wordpress-plugin-deploy アクションを使うと、GitHub に push するだけで自動公開できます。
📌 バージョン管理とアップデート
バージョン番号のルール(セマンティックバージョニング)
アップデートの公開手順
- コードを修正して trunk にコミット
- readme.txt の
Stable tagとChangelogを更新 - プラグインヘッダーの
Versionを更新 - SVN で新しいタグを作成(例:
tags/1.1.0) - WordPress.org に自動的にアップデートが通知される
⚠️ readme.txt の Stable tag を忘れずに
Stable tag を新しいバージョン番号に更新しないと、ユーザーにアップデートが通知されません。タグの作成と Stable tag の更新はセットで行いましょう。
✅ 公開前の最終チェックリスト
- readme.txt に必須項目がすべて記載されている
- プラグインヘッダーのバージョンと readme.txt の Stable tag が一致している
- すべての入力値にサニタイズ・エスケープが実装されている
- nonce による検証がすべてのフォームに実装されている
- current_user_can() による権限チェックが実装されている
- プラグインを無効化しても他の機能に影響しない
- 最新バージョンの WordPress と PHP で動作確認済み
- GPL 互換のライセンスを使用している
- アイコン・バナー画像を準備した(任意)
- 翻訳対応(Text Domain)が設定されている