WordPressといえば、大量に出回っているプラグインにより、小難しい機能がぱぱっと実装できてしまうのが大きなポイントですが、実際にプラグインを作ってみたという人はそんなに多くないんじゃないでしょうか。
実際、「別に作らなくてもだいたい探せばあるし」ということなんだと思うし現にその通りなのですが、ちょっとプラグインを改良したい、とか、公式プラグインを自分好みに改造して使いたいという程度のことであれば出てくるかもしれません。
また、すごく便利なプラグインを作ってたくさんの人に使ってもらうことができれば、もしかするとビールをおごってもらえるかもしれませんね!
ただ、プラグインを作るっていっても全然右も左もわからんわという人のために、本記事では簡単なものを作りつつ、一体どんな感じでやればいいのかを学んでみましょう。実際にやってみてくださいね。本記事通りにやれば、とりあえずしょーもないプラグインができあがります。
本記事の内容は大きく以下の通り
- WordPress開発環境を整える
- pluginsディレクトリにファイルを置く
- 簡単なプログラムを実行する
- スタイルシートを読み込ませる
…ちなみにですが、WordPress公式ディレクトリに登録しようと思うとなかなか大変なので、いったんこの記事ではやりません。この記事で作ることができるプラグインは公式ディレクトリに登録できないと思いますので、あしからず。登録してみてもいいけど…
WordPress環境開発を整える
プラグインを使うにはまずWordPressがインストールされている必要がありますので、プラグイン開発用のテスト環境を整えておきましょう。
プラグイン開発中は何が起きるかわからないので、最悪データがぶっ飛んでもいいくらいの環境を用意してください。
僕はVagrantを使ってます。Vagrantについては下記記事を参考にどうぞ。
もしくはレンタルサーバーを借りるのもいいですね。おすすめはもちろんエックスサーバー
です。
pluginsディレクトリにファイルを置く
テスト環境にWordPressのインストールが完了したら、wp-content > pluginsとディレクトリを進んでみましょう。
既に何個かファイルがありますね。これらのファイルは、WordPressをインストールするときに勝手に入ってるいつものプラグインたちです。
ちなみにindex.phpを開いてみると…
1 2 |
<?php // Silence is golden. |
と書かれています。
このファイルはなんやねんってことですが、ディレクトリ内にindex.phpがないと都合が悪いことがあるので、何もしないindex.phpをしゃーなしで置いているということらしいです。
silence is goldenとは…英語で「沈黙は金なり」ということわざらしいですが、何なんですかね。WordPress開発者の座右の銘でしょうか。
ファイルの名付けかた
プラグインを作成するにあたって、ファイルの名前の付け方にはお作法があるようです。
その前にまず、今回作るプラグインの名前と機能を決めましょう。
さて、今回作るプラグインは…
- Eat Niku
- ひたすらお肉を食べようと勧めてくるプラグイン
すばらしい発想ですね!この発想はなかった!
こんなプラグインどこを探してもないんじゃないでしょうか。
…名前が決まったところで、ファイル名も決まります。
– eat-niku.php
こんな感じですね。
基本的に、プラグインの名前と同じ名前をハイフンでディレクトリに名づけ、その直下に同じ名前のphpファイルを置くというのが作法です。
実際WordPressの公式ディレクトリに登録すると勝手にこうなるので、登録しなくても同じようにしておきましょう。
プラグインとして認識させる
ただファイルを置いただけではWordPressさんはこいつがプラグインだということがわかりませんので、eat-niku.phpに先頭に以下のように書いてやります。
1 2 3 4 5 6 |
<?php /* Plugin Name: Eat Niku Description: ひたすらお肉を食べようと勧めてくるプラグイン Version: 0.1 */ |
Plugin Name | |
---|---|
Description | プラグインの説明 |
Version | バージョン |
プラグインとして使いたいだけであればPlugin NameさえあればOK。あとはオプションですが、VersionとDescriptionは最低限あったほうがわかりやすいですね。
情報をもっと書こうとすると以下のような感じに。
1 2 3 4 5 6 7 8 9 10 11 |
<?php /* Plugin Name: Eat Niku Plugin URI: http://www.example.com/plugin Description: ひたすらお肉を食べようと勧めてくるプラグイン Author: Miyake Version: 0.1 Author URI: https://meshikui.com License: GPL2 License URI: https://www.gnu.org/licenses/gpl-2.0.html */ |
その他詳細はWordPress Codexを参考にしてください。
管理画面を見てみる
さてヘッダー情報を記載して所定の場所に設置したところで、管理画面ではどうなってるでしょうか。見てみましょう
おおーしっかり認識されています!
あの素晴らしいプラグインの一覧の中に自分の作ったプラグインが!まだ何も機能ないけど!愛おしい…
簡単なプログラムを実行する
プラグインとして認められたところで、実際に機能をつけてみましょう。
今回のプラグイン「Eat Niku」は、「ひたすらお肉を食べようと勧めてくる」プラグインなので、管理画面に表示させましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php /* Plugin Name: Eat Niku Description: ひたすらお肉を食べようと勧めてくるプラグイン Version: 0.1 */ function eat_niku() { if( is_admin() ) { echo 'お腹がすきましたね。お肉を食べましょう!'; } } add_action( 'admin_notices', 'eat_niku' ); |
おそるおそるプラグインを有効化しましょう。
ででで、出た~!!!
もうこれだけでも立派なプラグインです。プラグイン開発の大海原へ漕ぎだしましたね。
スタイルシートを読み込ませる
今のままだとちょっと主張が弱くてあまりお肉を食べたくなりません。
そこで、スタイルシートで装飾してやることでもっと目立たせてみましょう。
まず、eat-nikuディレクトリ内にstyle.cssを置き、スタイルを書きます。
1 2 3 4 5 |
.eat-niku { font-size: 200%; color: red; font-weight: bold; } |
続いて、eat-niku.php内にコードを追加します。
ちなみに、style.cssを読み込むのは、管理画面のhead内です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php /* Plugin Name: Eat Niku Description: ひたすらお肉を食べようと勧めてくるプラグイン Version: 0.1 */ function eat_niku() { if( is_admin() ) { echo '<p class="eat-niku">お腹がすきましたね。お肉を食べましょう!</p>'; } } add_action( 'admin_notices', 'eat_niku' ); function eat_niku_css() { wp_register_style( 'nikuStyle', plugins_url('style.css', __FILE__) ); wp_enqueue_style( 'nikuStyle' ); } add_action( 'admin_init', 'eat_niku_css' ); |
めっちゃ食べたくなりますね!
おわり
プラグインを作ること自体は、本記事でやってみたとおり難しくなくあっという間にできてしまいますが、公式プラグインに登録して多くのユーザーに使ってもらうためにはもっと汎用性を高くししたり、国際化したり、メンテナンスや拡張性にも気を遣う必要があります。
しかし、とりあえず作ってみるという段階ではいきなりそこまで考える必要はありませんので、気軽にまずは第一歩を踏み出してみてはいかがでしょうか。
ちなみに僕はこの本買いました!
こちらの本はその名の通り「バイブル」といった感じで、プラグイン開発の基礎や考え方などが詳しく書かれています。
公式ディレクトリに登録されるにはどのように設計したらいいか、開発環境やテスト環境のこと、セキュリティのことなどなど勉強になりますので、気になったらぜひ読んでみてくださいね。
あとは、実際に出回っているプラグインの中身がどうなっているのかを詳しく解析するのも勉強になると思います。自分の作りたいプラグインと似ているプラグインを検索して、参考にさせていただきましょう。
ではでは、良いプラグインライフを!