【WordPress】プラグインの作り方を調べてみた
WordPressのカスタマイズをやっていると、functions.phpがごちゃごちゃになってくるので。
PHPファイルの管理方法を考える事があります。
カスタムに使用したPHPファイルを子テーマ内に保管し、外部ファイルとして読み込ませる方法もありますが。
簡単なコードだとしても、機能ごとにプラグインを自作した方が良いんじゃないかと思う事もあります。
なのでプラグインの作り方を調べてみました。
WordPressのプラグインの作り方
WordPressのプラグインは以下の手順で作成できるみたいです。
1,プラグイン用のフォルダを作成する
2,PHPファイルを作成する
3,PHPファイルにプラグイン情報を書く
4,フォルダを/wp-content/pluginsに格納する
5,プラグインのコードを記述する
ぼんやりとプラグインの作り方を調べた事はあって、思ったより簡単だなぁという印象はありましたが。
とりあえずプラグインとして認識させる方法ですね。
1. プラグイン用のフォルダを作成する
まずは、プラグインの名前を決め、それに準じた名前のプラグインフォルダを作成します。
例えば、「hello-world」というプラグインを作る場合は、「hello-world」というフォルダを作ります。
作業の効率を考えると、PC上にフォルダを用意しFTPソフトでアップロードするのが良いかと。
2. PHPファイルを作成する
次に、作成したプラグインフォルダの中にPHPファイルを作成しましょう。
このPHPファイルに、プラグインの情報や機能となるコードを記述します。
PHPファイルの名前は、プラグインフォルダと同じにするのが一般的なようです。
例えば、「hello-world」というフォルダには「hello-world.php」というファイルを作ります。
プラグインに不具合があった時に、どれがメインファイルか分かりやすくもなりますね。
3. PHPファイルにプラグイン情報を書く
作成したPHPファイルをWordPressにプラグインとして認識してもらうためには、プラグイン情報が必要とのこと。
Plugin Name: プラグインの名前
Plugin URI: プラグインの公式サイトのURL
Version: プラグインのバージョン
Author: プラグインの作者の名前
Author URI: プラグインの作者のサイトのURL
例えば、「hello-world」というプラグインの情報は以下のように書きます。
<?php
/*
Plugin Name: Hello World
Plugin URI: https://xxx.com/hello-world
Description: A simple plugin that says hello to the world
Version: 1.0
Author: another
Author URI: https://xxx.com
*/
4. フォルダを/wp-content/pluginsに格納する
プラグイン情報を書いたら、フォルダを「/wp-content/plugins」に移動させると。
WordPressがプラグインを読み込み、プラグイン情報を元に管理画面に表示されます。
単純に考えれば、プラグインとして認識させるだけならプラグイン情報さえあれば良いということですね。
5. プラグインのコードを記述する
プラグインの機能はプラグイン情報のコメント以下から入力します。
functions.phpで入力できる内容をそのまま使えるので、カスタマイズで勉強したことをそのまま使えますね。
例えば、「hello-world」というプラグインのコードは以下のように。
<?php
/*
Plugin Name: Hello World
Plugin URI: https://xxx.com/hello-world
Description: A simple plugin that says hello to the world
Version: 1.0
Author: another
Author URI: https://XXX.com
*/
// 関数を定義する
function hello_world() {
// フッターに「Hello World!」と表示する
echo '<p>Hello World!</p>';
}
// アクションフックを使って関数を実行する
// wp_footerというアクションにhello_worldという関数を登録する
add_action('wp_footer', 'hello_world');
これがプラグインを作成する一連の流れです。
管理画面のプラグイン一覧からプラグインを有効化すると、フッターに「Hello World!」と表示されるようになります。
プラグインを拡張するプラグインが開発される理由もなんとなく分かった気がします。
これは便利かも。
WordPressのプラグイン作成時の注意
WordPressのプラグインを作るだけであれば、結構簡単でした。
管理画面のプラグインでON/OFFもできるようになったり、PHPファイル自体も専用のディレクトリで管理できたりと管理が楽になるなぁと思いましたが。
プラグインを作る際の注意点も見ておきます。
サイトの表示速度やセキュリティに影響する可能性がある
プラグインが多くなると、サイトの読み込みが遅くなる可能性があります。
プログラムが増える事になるので、当然といえば当然です。
また、プラグインのコードには、セキュリティ対策やエラー処理をしっかりと行いましょう。
プラグインの脆弱性を狙ったハッキングもありますので。
プラグイン同士やテーマとの相性によって不具合が発生する可能性がある
プラグインを作るときには、プラグイン同士やテーマとの相性にも注意が必要です。
プラグインやテーマが同じ機能やデザインを提供している場合、重複や衝突による不具合やエラーが起こることも。
また、プラグインやテーマのバージョンが合わない場合も同様です。
プラグインを作る前に、テーマや他のプラグインとの互換性を確認することが重要です。
後はWordPressのコア機能との互換性もですね。
プラグインのコードの使い方も把握しよう
「functions.php」で機能を設定する時にも言えますが、phpの基礎知識や関数の作り方、アクションフックやフィルターフックの使い方といった、コードに関する知識は重要です。
プラグインのコードは、WordPressの動作に直接関わるため、正しく記述しないと、サイトが壊れたり、予期せぬ動作をしたりすることもあります。
また、WordPressで動作するコードはプラグインだけではありません。
関数などの機能は他のプラグインとの競合を避けるように設計しないとです。
以上が、プラグイン作成時に注意した方が良いことです。
まとめ
プラグインというと便利で高機能なものが多いので、難しいイメージがあるかもしれませんが。
実はfunctions.phpで行っている事を、別ディレクトリの中で管理しているファイルでやっているとも言えるのです。
自分でプラグイン化できれば、メンテナンス性も良くなりますし、コードの可読性も良くなります。
機能追加する場合の一つの方法として、機能のプラグイン化を考えてるのも手ですね。
参考:アルパカ@ラボ