【プラグイン自作】WordPressプラグインの作り方を丁寧に解説
WordPressには様々なプラグインがあって、カスタマイズのときにすごく便利ですよね。
しかし既存のプラグインではできない、ちょっとした機能を実現したいと思うこともあるかもしれません。
WordPressのプラグインは、自作することもできます。PHPやHTML、CSSの知識は必要ですが、自分の思ったとおりの機能を実装できたらいいですよね。
その第一歩に、プラグインの作り方を解説します。
目次
WordPressのプラグインを自作する全体像
WordPressのプラグインを自作するためには、プラグイン作成の全体像を把握しておきましょう。
プラグインの機能と名前を決める
非常に当たり前ですが、プラグインの機能と名前について決めましょう。
どのような機能が欲しいのか、どのような機能を実現するのかはプラグインの自作では必ず考える箇所です。
プラグインの固有タグをWordPressで動作させようとしたとき、ほかのプラグインやWordPressのタグと名前がかぶると動作しません。
プラグインの名前はほかのプラグインとかぶらない、ユニークなものをつけましょう。
プラグインのメタ情報の記載
昨日と名前が決定したらプラグインフォルダを作り、プラグインファイルにメタ情報を記載しておきましょう。
<?php /* Plugin Name: (プラグインの名前) Plugin URI: (プラグインの説明と更新を示すページの URI) Description: (プラグインの短い説明) Version: (プラグインのバージョン番号。例: 1.0) Author: (プラグイン作者の名前) Author URI: (プラグイン作者の URI) License: (ライセンス名の「スラッグ」 例: GPL2) */ ?>
上記がプラグインのメタ情報を記載する形式になります。
自分しか使用しないプラグインの場合は、プラグインの名前だけでもOKです。
プラグインのファイル構成と設計
実際のプラグインの設計を行っていきましょう。
感なんな機能なら、PHPファイル一つで足りるかもしれません。
しかしJavaScriptやPHPのライブラリ、CSSなどを使用すれば複数のファイルが必要になります。
プラグインディレクトリ
├ lib(メインファイルから分離したPHPファイル)
├ images(画像ファイル)
├ js(JavaScriptファイル)
├ style(CSS)
└ languages(翻訳ファイル)
plugin.php(プラグインのメインファイル)
readme.txt(READMEフィアル)
上記のようなファイル構成が、WordPressのプラグインでは一般的です。
プラグインをコーディングして実装テスト
プラグインの設計ができたら、実際にコーディングしていきましょう。
WordPressに実装してテストし、デバッグを終えたらプラグインの完成です。
WordPressプラグインのアプローチの仕方
WordPressのプラグインは、WordPressのいくつかの機能を利用してアプローチする方法が一般的です。
テンプレートタグで定義して利用する
テンプレートタグとは、WordPressで定義された関数です。
プラグインではWordPressに用意されたタグではなく、自作したタグを使用して機能を実現します。
アクションフックを利用する
アクションフックとは何らかの動作をフラグに、実行するアクションです。
例えばページを読み込んだときに実行されるアクションはwp_loadedです。
WordPressには多彩なアクションフックが用意されています。
add_action()を使用してフックします。
フィルターフックを利用する
アクションフックでは動作がフラグでしたが、フィルターフックではデータがフラグになります。
例えば投稿のタイトルを取得するthe_titleをフラグにして、自作のプラグインや関数を実行することができます。
add_filter()を使用してフックします。
テキスト表示するだけのプラグインを自作してみよう
テキストを投稿の先頭に表示するだけの、単純なプラグインを一緒に作成してみましょう。
プラグイン名「echo-text」のファイルとフォルダの作成
まずはプラグインフォルダを作り、プラグインファイルも作成しておきます。
WordPressディレクトリのwp-content→pluginsディレクトリ内に作成します。

echo-text.phpにメタ情報を入力
echo-text.phpをテキストエディタなどで開き、メタ情報を入力します。

WordPressのデバッグ機能を有効化しておく
WordPressのテンプレートやプラグイン自作で、PHPを編集する場合は必ずデバッグモードを有効にしましょう。
wp-config.phpの以下の行を編集してください。
define(‘WP_DEBUG’, false); → define(‘WP_DEBUG’, true);
wp-config.phpは、WordPressをインストールした直下にあります。


プラグインのコードを書く
それではプラグインにコードを書いていきましょう。
今回はテキストを表示させるだけの、簡単なプラグインです。

プラグインを有効化して確認する
WordPressのダッシュボードに入って、自作したECHO-TEXTプラグインを実行してみましょう。
……Plugin Nameとディレクトリの名前は一緒でないといけないようです。
プラグインファイルの内容を、以下のように修正します。

大文字から小文字に、ディレクトリ名と同じに修正しました。

無事表示されましたが、文字化けしています。
テキストエディタがSJISだからです。UTF-8Nに切り替えて保存します。

無事表示されたので、有効化して投稿を見てみましょう。
投稿に「表示テストしていますができていますか?」が表示されていれば成功です。

WordPressでプラグインを自作する第一歩
いかがでしたでしょうか?
非常に単純なプラグインですが、作成したことで「これなら作れるかもしれない」と思ったなら、WordPressの自作プラグイン作りで最初の一歩を踏み出したことになります。
まずは全体像や仕組みを理解することが大事
WordPressのプラグインの自作だけに限らず、PHPやHTML、CSS、JavaScriptなどを学習する第一歩には、全体像をぼんやりとでも理解することが大事です。
そして全体像をぼんやりとでも理解するためには、実践あるのみです。
最初の実践は、この記事のような単純で簡単なプログラムでかまいません。
プログラムの本を読んだだけで、プログラムが書けるようになる人はあまりいません。
プログラムの本を読みつつ、実践しながら理解していく人が多いです。
作りたいプラグインによって必要な知識は様々
作りたいプラグインによって、必要な知識は多種多様です。
ですので先に知識を蓄えるのではなく、どのようなプラグインを作りたいかを考えた方が効率的ですよ。
高速化系のプラグインならApacheやウェブキャッシュ
WordPressでお世話になるプラグインの一つに、高速化プラグインがあります。
W3 Total CacheやSuper Cacheなどは有名です。
高速化プラグインを作成しようと思うと、Apacheの知識が必要になります。
Apacheの .htaccessを書き換えることで、ウェブキャッシュさせたり、高速に動作したりするように設定するからです。
SNS系プラグインなら各SNSのAPI
SNS系プラグインなら、各SNSのAPIの使用を知らないと、プラグインが作れません。
もしくはPHPのフレームワークから、SNSのAPIを利用するという方法もあります。
PHPフレームワークの導入や、利用を学習しましょう。
画像圧縮などはPHPのGDライブラリ
WordPressには軽量化のために、画像を圧縮するEWWW Image Optimizerのようなプラグインもあります。
画像圧縮はPHPのGDライブラリやImageMagickライブラリが有名です。
最初から完璧を目指さず、実践しながら成長しよう
WordPressの自作プラグインに限らず、プログラムを学習するには完璧主義を捨てましょう。
最初から完璧にできないと気が済まない人は、プログラムには向いていません。
実践しながら理解していくことで、どんどんとプログラミングのスキルは成長していきます。
まずはWordPressの簡単な自作プラグインを、この記事を参考に作ってみてくださいね。