【WordPress】自作プラグインを作って公式リリースするまでの流れ

この記事は最終更新から4年以上が経過しています。情報が古くなっている可能性があります。

こんにちは、しばです。
WordPressは仕事でカスタマイズしたり簡単なオリジナルテーマを作ったりと、よくお世話になっています。
この間「こういう機能ほしいな?」と思って調べたらなかなか使い勝手のいいプラグインが見つからない…じゃあ作るか!と思いたちました。

1週間くらいかけて、勉強がてらプラグインを作り、ついでにWordPress公式プラグインへ申請。
つい最近審査が通り公開されたので、プラグイン作りから公式プラグイン登録・公開までの流れをざっくりとまとめていきたいと思います。

Real-time TITLE Checker

簡単に今回作ったプラグインの紹介から。

Real-time TITLE Checker

記事を書いてると、これまでどんなタイトルにしてたっけ?ファイル名の命名規則どういうのだっけ?という場合、ありますよね。
私はよく、
こないだいい感じのタイトル付けれたけどどういうのだったかな..
Monaca記事のファイル名を連番にしてた気がするけど、何番まで書いたかな…
となります。

その時いちいち投稿画面に戻って検索!というのが非常に手間…
そんな経緯で作ったのが「記事編集画面のページタイトル入力中に、リアルタイムで関連する記事タイトル・パーマリンクを表示」するプラグイン「Real-time TITLE Checker」です。

よければこちらから使ってみてください( ´▽`)

開発〜公式プラグイン公開までの流れ

詳しい手順や内容はこちらの記事が非常にわかりやすかったので、参考にしつつ進めさせていただきました。

<プラグイン開発>

以下の流れで開発を進めました。

1. 作業概要の把握、不明点の調査

この時点では「フック、聞いたことあるよ!functions.phpでたまに使うよね!」というレベルだったので、まずはお勉強から。

  • ローカル環境のWordPressで開発可能
  • プラグインの実行処理方法(アクションフック、フィルターフック、テンプレートタグとは、というところから)

などなどを確認しました。

2. 仕様・機能要件を考える

欲しい機能を洗い出し&整理し、具体的な実装方法や画面設計に落とし込みます。

  • プラグインの名前はどうするか(一意)
  • どんなフックが最適か
  • どんな処理をしていくか
  • プラグインのファイル構成はどうするか
  • プラグイン設定用画面はどういう項目が必要でどのレベルのメニューにするか(トップレベルメニューか、設定メニューか、一般設定メニューに項目追加するか)

また、「Real-time TITLE Checker 」では管理画面内でjqueryを使ったので、
あらかじめ静的HTML単体で動作検証を済ませました。

3. 開発準備

ローカルのWordPressでプラグイン開発に必要な準備をしていきます。

  • WordPressのデバッグを有効
  • WordPressのプラグインフォルダにフォルダを作成
  • 作成したプラグインのメインとなるphpファイルに、プラグインの基本情報&ライセンスを記載
  • WordPress画面上からプラグインを有効化

4. 開発

起こした設計に基づいてコーディングしていきます。

5. 検証

一通り想定の動きができるようになったら、バグが起きないが動作確認をします。
その時は知らなかったんですが、Local by Flywheelを使うと検証が捗りそうです!

※Local by FlywheelはWordPressをローカル環境で構築するためのツールで、とても見やすい操作画面上から簡単に複数のWordPressをインストールすることができます。phpやwordpressのバージョンも簡単に切り替えが可能。感動しました。(*´ω`*) 

同時に、セキュリティに問題ないか確認します。自分ではよくわからないのでこちらのツールを使わせていただきましたが、とても分かり易かったです。


ここで一旦開発は完了です。
このプラグインデータだけでもZIPにしてWordPressにアップロード・インストールすれば利用できるので、プラグインを作ったら必ずしも公式プラグインへ登録する必要はありません。

今回はせっかくなので公開したい&公式プラグインの水準をクリアできてるか知りたいという下心から、公式プラグイン公開までを目標としていたので、次のフェーズへ進みます。

<wordpress公式プラグインへ登録>

1. WordPress.orgでアカウント登録

こちらでWordPressアカウントを登録します。

2. READMEファイルの作成

申請時・プラグインページ公開時に使うREADMEファイルを用意。
これは生成&バリデーターツールが便利でした。
READMEファイルとスクリーンショットをプラグインフォルダにいれて、ZIPに圧縮します。

3. wordpress.orgへ申請

プラグインの準備ができたら、wordpressサイトからアップロードすることで申請します。

不通過の場合、There are issues with your plugin code.(プラグインコードに問題があります。)と理由、該当箇所等々が記載されたメールが返ってきます。(全文英語)
その場合はメールに修正版プラグインデータを添付して返信。
通過すると、リポジトリのURLとアップロード方法についての案内が送られて来ます。

ちなみに審査結果の連絡は、初回申請時・修正申請時いずれも1~2日以内に来ました。

4. リポジトリへ公開

プラグインページに公開するデータをターミナル等を使ってアップロードします。
ここではヘッダー画像とアイコンを新しく用意。(※アイコンは必須じゃないので、アップしなければWordPress側で自動生成されたものになります)
私はターミナルでSubversionをインストールしてアップしました。

アップロード作業はそんなに難しくなく、ヘッダー画像とアイコンを用意できてから30分くらいで完了。


これにて公式プラグインの登録・公開完了です!
ちなみに公開されるプラグインページはメールで送られて来たURLではなく、https://wordpress.org/plugins/プラグイン名/ のでご注意。

感じたこと

今回開発から公開までにかかった日数は全体を通して7日程でした。(修正2回含む)

一番大変だと感じたのは申請フェーズ。

ガイドラインは非常に分かりやすく迷わず進められましたが、全文英語なので最初心が折れかけました(ヽ´ω`)
さらに審査時にここセキュリティ甘いよ!って指摘されてもPHPの知識不足のため対処法がわからず。
完全に手動で確認してくれてるようなので、あんまり手間とらせたくない..!とプラッシャーもあり、なかなか必死に勉強できたように思います。

ただ大変だったのはそのくらいで、全体的にプラグインを作って公開するのはそんなに難しくないと感じました。
また欲しい機能ができたら作ったり機能追加したりしていこうと思っています。

以上、「自作プラグインを作って公式リリースするまでの流れ」でした!