投稿日:2019年2月9日
WordPressプラグインとしてページテンプレートを実装する方法
今日もWordPressのお話を少しさせて頂ければと思います。通常WordPressでオリジナルデザインが当たったページを作成する場合には、通常の手順としてはテーマとして作ることが多いとは思いますが、テーマとして作ったほうが良い場合とプラグインとして作ったほうが良い場合というケースに分けられると思います。
海外の方が紹介しているやつをそのまま日本語でご紹介するだけなのですが、今日はプラグインとしてページテンプレートを認識させる方法を簡単に説明してみたいと思います。
申し遅れましたが三重県四日市市でWordPressのカスタマイズなどを行っているFLARESの山口です。本日もよろしくお願いいたします。
プラグインとして実装したほうがいいケース
- いろんなサイトで使いまわしたい(再利用したい)
- テーマの影響を受けたくない
- 開発するプラグインを有効化するとすぐに使えるようにしたい
の3つくらいに集約できるかなと思います。
いろんなサイトで使いまわしたい(再利用したい)ケース
こちらについてはそのままなのですが、例えば求人ページをスピーディーかつリーズナブルに構築したい場合なんかに「求人ページプラグイン」を入れることで入力画面と公開されるページなど、必要なものがオールインワンで全自動で構築されるみたいなことが実現できます。
再利用したい単位で業務ノウハウをプラグインとしてまとめておくと、お客様にとって価値のある仕組みをスピーディーにより多くのお客様に届けることができると思いますし、私もそのような仕事がしたいと常々考えています。
テーマの影響を受けたくないケース
こちらはテーマのファイルに手を入れずにそのままの状態を維持しつつ、制作を行いたい場合なんかが該当します。また、テーマを大幅に変更した場合にも、プラグインとして実装した箇所についてはそのままの状態を保つことができます。
テーマ変更の影響を受けないなど、開発制作上考えられる他所の影響を最小限にすることができると言えます。
開発するプラグインを有効化するとすぐに使えるようにしたい
プラグインを開発する際に、ページテンプレートをプラグイン側に持たせることによって、プラグインを有効化した際にそのままページテンプレートが適用されるようにすることができると思います。例えば今私が考えているものとしては、プラグインを有効化することによって、必要なページテンプレート一式が適用されるといった使い方ができるかと考えています。採用ページを作成するためのプラグインであれば、採用ページ一式が使えるようになるといった使い方ができるでしょう。
実装方法
テンプレートを読み込むタイミングで動くフィルターフックを利用してテンプレートの中身をまるごと上書きで書き換えるということをやっているようです。これが正しい実装方法かはわからないのですが、実際に実現できる方法として一つ便利なのでご紹介させていただきます。
参考URL
https://kellenmace.com/load-template-from-wordpress-plugin/
もう一つの方法(実のところこっちの方がオススメ!)
上記とは別の方法をもう一つご紹介します。
私もとても尊敬をしている「プラグイン開発のバイブル」という書籍を執筆された西川 伸一さんの記事にもある以下の方法が参考になります。
https://nskw-style.com/2015/wordpress/theme-templates-in-plugin.html
以下にアフィリも貼っておきのでよろしければどうぞ。僕もこの書籍は読みましたが他の書籍よりも一番面白い内容でしたね。本気でオススメです。ただし、初心者向けではないので最初からこの書籍を手に取ってもWordPressの基本がわかっていないと理解は難しいと思います。僕のWordPressの学習の轍としてはオンライン学習サイトでのコース受講、書籍2冊、実務経験2年ほどを経てのこの書籍という流れでした。
大手プログラミングスクールのWordPressコースのメンターとして採用されるためには必須の知識ですし、ここまで深く理解できていれば神様レベルには達しなくても世の中的には上級者の入り口くらいには達しているかと思いますのでチャレンジしてみる価値はあると思いますよ。
サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル
https://amzn.to/2T8En48