記事内に広告が含まれています

【ワレコのWordPress】自作のプラグインを作成する【案外簡単だった】

この記事は約8分で読めます。
スポンサーリンク

ワレコ

今日は久しぶりにワードプレスの話題を一つ提供しよう。

プラグインの作り方だ。

まあワテの備忘録みたいなもんだが。

しかしまあワテがこのワードプレスサイト https://wareko.jp/bolg/  を始めたのが2015年7月31日だ。

なぜそんなに正確に年月日を記憶しているかと言うと、それはこの最初の記事に自分で日付を書いていたからだ。

【ワレコの講座】Hello world!の歴史
ワテの場合も、WordPressとやらを使い始めたのが2015年7月31日の事だ。 当初は、Windows VPSレンタルサーバーを借りて、その環境に IIS MySQL PHP WordPress をインストールして、自力でWordPre...

早いものでもう七年も前の事か。

では、本題に入ろう。

スポンサーリンク
スポンサーリンク

WordPressとは何か?

プラグインの説明の前にまずWordPressとは何か?を簡単に解説しておく。

今皆さんが見ているこのワテのブログページを作ったり表示したりしているのがWordPressというソフトウェアなのだ。

WordPressはオープンソースで無料のソフトウェアだ。PHPと言う言語で記述されている。

このWordPressを使うと誰でも自分でウェブサイトを作る事が出来るのだ。こういうブログサイトも作れるし、企業などのホームページの体裁のサイトも作れる。

WordPressの入門書も多いので一冊買って読んでみれば簡単にマスター出来るだろう。

ホームページを作る手順としては、まずはレンタルサーバーを契約する。

ワテの場合はエックスサーバーを契約している。月々1100円だ。

ブログを始めるなら国内シェアNo.1のエックスサーバー

 

そのレンタルサーバーにWordPressをインストールする。

WordPressのインストール作業は、レンタルサーバー会社がボタン一つで簡単にインストール出来る機能を用意しているので、初心者でも誰でも簡単に出来る。

あとはWordPressを使いこなして自分の好きなホームページを作れば良いのだ。

なお、エックスサーバーはレンタルサーバー業界の最大手の一つではあるが月額料金は1100円なので若干高め。そのかわり安定性や信頼性は抜群に良いとワテは思うが。

もう少し費用を抑えたい人はスターサーバーがお勧めだ。

月額138円(税込)からのクラウド型高速レンタルサーバー、スターサーバー

スターサーバーはエックスサーバーの子会社なので信頼性も高い。

WordPressのプラグインとは何か?

さて、WordPressのプラグインとは何か?

PHPで書かれているWordPressの機能を拡張する仕組みがプラグインだ。

「wordperss プラグイン」などのキーワードで検索すると多数がヒットする。恐らく数千とか数万くらいのプラグインがあると思う。

ワテも何種類かのプラグインをインストールしているが、その中から有名な三つを紹介しよう。

プラグイン名 主な機能
Search Regex 検索機能や置換機能を拡張。正規表現パターンが利用出来る。
Duplicator WordPressサイトを複製してZIPファイルに保管。サイトの引っ越しに便利。
WP Dark Mode サイトの見た目を黒い背景で表示出来る。

表 ワテが良く使っているWordPressプラグイン

WordPressプラグインは、無料のものや有料のものなどいろいろある。有料のプラグインの機能制限版を無料で公開しているものもある。

WordPressプラグインのインストールは簡単で、WordPressの管理画面にログインして入れば、その中に「プラグイン」と言うメニューがある。

その中に入れば、膨大な数のプラグインの中から自分が必要とする機能を持つプラグインをキーワードで検索するなどが可能だ。

そして使ってみたいプラグインが有ればインストールして有効化すれば良いのだ。それらの作業は全てWordPressが標準で持っている機能なので誰でも簡単に利用出来る。

WordPressのプラグインを作る方法

では、さっそくWordPressプラグインを作ってみよう。

なお、以下の説明は主に

 https://wpdocs.osdn.jp/プラグインの作成 
 https://developer.wordpress.org/plugins/plugin-basics/header-requirements/

からの引用だ。

最も簡単なWordPressプラグインはこんな感じで書ける。

<?php
/**
* Plugin Name: Wareko Test Plugin
* Description: This is Wareko's Test Plugin. 
* Plugin URI: http://example.com/wareko-test-plugin
* Version: 1.0
* Author: Mr. Wareko
* Author URI: http://example.com/
* License: GPL2
*/

echo 'ワレコのテストプラグイン。';
?>

このPHPコードを wareko-test-plugin.php と言う名前のファイルに保管する。

なお、各項目の意味は以下の通り。

<?php
/*
Plugin Name: (プラグインの名前)
Description: (プラグインの短い説明)
Plugin URI: (プラグインの説明と更新を示すページの URI)
Version: (プラグインのバージョン番号。例: 1.0)
Author: (プラグイン作者の名前)
Author URI: (プラグイン作者の URI)
Text Domain:
License: (ライセンス名の「スラッグ」 例: GPL2)
*/
?>

これらの項目以外にもまだ幾つかの項目を追加しても良いので、詳細はWordPress公式サイトのヘッダー要件と言うページを見ると良い。

最低限必要なのは Plugin Name だけが有れば良い。

さて、wareko-test-plugin.php に保管したこのPHPコードをWordPressのインストールディレクトリの中の

(レンタルサーバーによって異なるパス名)/wp-content/plugins/wareko-test-plugin/

と言うフォルダにアップロードすれば良い。

そうすると、WordPressの管理画面でプラグインのメニューに入ると「停止中」と言うプラグイン一覧の中にこの「Wareko Test Plugin」と言うプラグイン名(Plugin Name)の項目が追加されるのだ。

あとは、このプラグインを選択して有効化すれば良いのだ。

その結果、WordPressのサイトを開くたびに

echo 'ワレコのテストプラグイン。';

が実行されるので、この文字列がページに埋め込まれる。まあなんの役にも立たないプラグインだが。

自作のプラグインを作るメリット

WordPressでは function.php と言うファイルを必要なら自分で自由に編集できる。

簡単な処理ならばプラグインにせずに直接 function.php に追加しても良い。

でも、色んな機能を function.php に追加して行くと、どんどん複雑になって自分でも訳分からなくなるのだ。実際、ワテも実は今まではWordPressテーマのCocoonを使っていて、Cocoonの子テーマの中の function.php に色んな自作の機能を追加していた。

ところが、function.php が複雑になり過ぎて訳ワカメ状態になってしまったのだ。と言うのはWordPressの function.php ファイルの編集作業なんて毎日やる訳では無いから数カ月ぶりにやると、この関数は何のために作ったの?この関数は何する為の機能?みたいな感じで自分で書いたプログラムにもかかわらずすっかり忘れてしまっている。

そこで、先日 function.php を見直して、自作の十種類くらいの機能をプラグインと言う形で分離したのだ。十種類くらいのプラグインに分離した事によって、それらのプラグインは独立して編集できるからメンテナンス性が良くなった。今までのように function.php に全ての自作関数を入れていると、一つでも何かおかしな関数があると、WordPress自体が正常に動かない。

でもプラグインに分離したので、もし何かおかしなプラグインが有れば取り敢えずそのおかしなプラグイン一つだけを無効化しておけば良い。そしてLocal By Flywheelの環境でそのプラグインの動作実験やデバッグをして問題点修正すれば良いのだ。

そして無事に完成したらプラグインとしてアップロードするのだ。

まとめ

ワレコ

今日はここまで。

次回はもう少し実用的なプラグインを紹介しよう。

ワテの場合、自作のプラグインを十個くらい使っている。

WordPressを自分でPHPコードを書いてカスタマイズする作業は便利ではあるが、あまりに凝って複雑なカスタマイズをすると、結局は手間ばかり掛かってデメリットしか無いと思う。

と言う訳で、WordPressをカスタマイズしたい場合には既存の有名プラグインを利用するのが良い。

もし既存のプラグインに目的とする機能が無い場合には、自作PHPコードを書くのも良いだろう。

その場合には、function.php に直接書き込むよりも、個々の機能を個々のプラグインに分離しておくほうが良いと思う。

そうすればメンテナンスし易いからだ。function.php に書いている関数をプラグインに分離する作業は非常に簡単だ。要するにプラグイン名を持つphpファイルを一つ作成して、そのファイルに上で紹介したヘッダー部分を追加して、その次にfunction.phpから切り取った関数を追加して行けば良いのだ。

ワテもそんなやり方でfunction.php のスリム化に成功したのだ。

ああスッキリ

(続く)

コメント