今回はWordPress(ワードプレス)のプラグインを作って公開するまでの大まかな段取りについてです。
1. はじめに
WordPressのプラグインを自分で作るには予め下記が必要です。
- パソコン
- 自分が管理者権限を持っているWordPressウェブサイト
- PHPとHTMLの知識
- SVNクライアントと呼ばれるバージョン管理ソフトウェア
- メールアドレス
- 多少の英語(読み書き)
1. 基本的な段取り
WordPressプラグインが公開されるまでの大まかな段取りは下記の3段階です。
- 開発:プラグインを作り、自分のWordPressサイトにFTP等でアップロードして実挙動を確認する
- 審査:作ったプラグインをWordPress公式サイトで審査に出し、指摘事項を修正する
- 公開:審査に通ったら公開される
2. テンプレート
初めてWordPressプラグインを作成する方向けに、仕様の最も基本的なプラグインの雛形(テンプレート)を作成しておきました。これをダウンロードし、自分のWordPressサイトにインストールして、これを手直ししながらプラグイン開発を始められます。なお、記述の意味はプログラム中にコメントとして記述してあります。
3. 開発
3.1. 名前
WordPressプラグインの開発で最も重要で、後々まで影響を与えるものが「名前」です。プラグインのメインコードのヘッダーのコメント欄の中で「Text domain(テキストドメイン)」という項目として記述するのですが、これが後々まで影響します。WordPress公式サイトのプラグイン公開フォルダの名前としても使われ、のちに見た目のプラグイン名を変えたとしても、WordPress公式サイトのプラグイン公開フォルダの名前は変わらず、はじめに決めたテキストドメインのままになるので、まずはプラグインの名前をよく考えて決めましょう。決めるにあたってのキーポイントは下記です。
- アルファベットで記述すること
- 長くても2ワードであること
- 名前を見ればそのプラグインの役割がわかること
- 他の公開済みプラグインと類似していないこと
- 差別的であったり人を傷つけるメッセージが含まれないこと
3.2. ユーザー画面
ユーザーが閲覧する画面の描画はプラグインのPHPコードでテンプレートを別個に生成して描画します。詳しくはこのサイトを参照してください。
3.3. 管理画面
管理画面はプラグインの設定や管理上の情報表示を行う画面です。上記のテンプレートに管理画面描画のコードを簡単に記載しておきましたので参照してください。
3.4. README
プラグインに含まれるREADME.txtは、プラグイン公開時にプラグインの解説ページを表示する内容として使われます。記載方法はHTMLではなく「マークダウン 」と呼ばれる独特な方式ですので、上記のテンプレートに含まれるサンプルを参照してください。
3.5. 多言語化
WordPressプラグインはWordPress自体の表示言語設定に合わせて多言語で表示することができます。これを行うには、プラグインの中の「languages」フォルダなどに言語ごとの定義ファイルを入れておきます。言語ごとの定義ファイルは「Loco Translate」のような言語ごとの定義ファイルを生成するプラグインを使って容易に行うことができます。
3.6. WordPress既定のアイコン集(Dashicons)
WordPressには多用されるアイコンを簡単に導入できるよう、予めアイコンがたくさん定義されています。既定のアイコンを検索するにはこのページを参照します。使い方は簡単で、ページに貼りたいアイコンを選んで、表示された「Copy HTML」をクリックして表示された簡単なコード(スニペット)をWordPress上のHTMLの中に貼るだけです。
3.7. WordPress既定の関数
WordPressには多用されるプログラム処理を簡単に導入できるよう、予め関数がたくさん定義されています。既定の関数を検索したりその機能や使い方を知るにはこのページを参照します。
3.8. プラグインに対するプラグインは作れるのか?
シンプルな回答は「作れる」です。ただ、プラグインによっては作るのが面倒なモノもありますし、予めプラグインを作られることを前提にしているプラグイン(例:ショッピングカートのWooCommerce)もあります。プラグインを作られる側がどのような変数を用いているのかを知ることが前提ですので、コードを閲覧してその仕組みを理解することが必要となります。
4. 公開したい旨の申し込み
WordPressプラグインの公開を行うには、独自のウェブサイトでZIP圧縮したプラグインファイル一式を公開する方法もありますが、WordPress公式のプラグイン公開ディレクトリで公開した方が利用者の利便性も高く、公開前にコードレビューをされているため信頼度も上がります。
WordPressプラグインの公開をWordPress公式のプラグイン公開ディレクトリで行うには、まずWordPress.orgでユーザー登録をする必要があります。ユーザー登録をしたら下記のページ(ユーザー登録してログインしていて初めてアップロードが可能)にて作成したプラグインをアップロードします。
プラグインをアップロードすると、WordPressのプラグイン審査担当者(Mika Epsteinさんという北欧系の名前の方がなぜか多い)から後日にレビューの返事がメールで届きます。返事の内容は下記のような、きっちりコードを読んでいるんだなと感じさせるものがあります。- コードのこの部分はセキュリティー上問題があるね
- コードのこの部分は無駄が多いのでもっとシンプルな条件分岐にして
- このプラグインに似たものがすでにあるけど、必要なの?
5. 審査と修正
このようなやりとり(英語です)をやりとりしていき、指摘された箇所を修正したりしていって審査担当者が了承するとWordPress公式サイト上にプラグインが公開されて、WordPress自体のプラグイン追加でも選択できるようになります。
6. SVN(ソフトウェアのバージョン管理)
WordPressプラグインをWordPressの公開サーバーにアップロードするには、通常のウェブサイトのページやコードをサーバーにアップロードするようにFTPで行うことはできません。自分のPCにあるコードやドキュメントや画像などの改編を履歴として把握しながらサーバーにアップロードする「サブバージョン管理(subversion control)」という手法に則って行います。このサブバージョン管理を行うソフトウェアは様々ありますが、Macで開発作業を行っている私は「SnailSVN」を使っています(SnailSVN公開サイト)。Macの場合、AppleのApp Storeでアプリ化されているので、ここからダウンロードして使います。
7. 公開と更新
SVNクライアントを使ってWordPressの公開サーバーにプラグインをアップロード(正確には「コミット」といいます)します。更新においても、SVNクライアントがファイルを監視していて「これは前回から変更が加わったね!」と、アップロードすべきファイルを把握しておいてくれます。
今回は各段取りの詳細は省きましたが、大きな流れでは上記の通りです。日本人ならではの繊細さで痒いところに手がとどくプラグインを開発して世界中から称賛を浴びている方もいらっしゃいます。軽い気持ちで試してみることをオススメします。