WordPressのプラグインを開発する際に、技術的な実装手法以外の面で知っておくべきことをまとめました。
ライセンスについての理解
WordPressはオープンソースのソフトウェアですが、オープンソース=どう使っても自由、というわけではありません。
WordPressは、GPLライセンスのもとで配布されています。
GPLについての詳細はここでは割愛しますが、WordPressのプラグインを公開する際には、最低限以下の内容を把握しておきましょう。
・配布するプラグインの利用に制限(利用回数、利用サイト数、利用期間、改変および改変したものの再配布の制限を含む)を設けてはならない。
・ソースコードは公開しなければならない(PHPプログラムの場合は、配布=ソースコードの公開といえますが)。
・このルールは、あなたが作成したWordPressプラグインを第三者に提供する時点で強制的に適用される(法的な拘束力がある)。
・WordPressプラグインを、個人サイトなどWordPress公式サイト以外で配布してもよいが、その場合でも同様。
・WordPressプラグインを有料で販売してもよいが、その場合でも同様。
セキュリティ対策
あなたの作成したプラグインが原因で利用者のWordPressサイトが攻撃されるようなことがあれば、多くの人に迷惑をかけることになります。
プラグインの脆弱性には最大限の注意を払いましょう。
WordPressプラグイン開発におけるセキュリティ対策については、こちらのコラムを参照してください。
WordPressテーマ・プラグイン開発時のセキュリティ対策
開発者への配慮
あなたが普段、アクションフックやフィルダフックを駆使してWordPress本体やテーマ、プラグインの挙動をカスタマイズしているように、
あなたが作成したプラグインも、それを利用する開発者によってカスタマイズしやすいものであるべきです。
主要な処理の前後に、こまめに do_action() や apply_filters() を記述して、独自のアクション、フィルターを用意しておくと、カスタマイズしやすいプラグインになります。
また、WordPressのコーディング規約にも準拠しておくことが望ましいです。
特にPHPに関するWordPressのコーディングルールは、PHPのスタンダードといえるPSRとはかなり違うところがありますので、PSRに慣れている方は注意が必要です。
プラグインの国際化(多言語化)
WordPressのプラグインディレクトリにプラグインを公開するなら、英語に対応していることは必須です。
WordPressは国際化ライブラリとしてGetTextを採用しています。
日本語と英語に対応するためには、ソースコード内のリテラルは、全て英語で記述し、かつ翻訳関数を通して、そして日本語化のための翻訳ファイルを用意する必要があります。
日本語べた書きで作ったものを後から対応させるのは結構骨が折れるので、最初から英語でマークアップしておくのがベターです。