テンプレートファイルをプラグインから呼び出しつつ、テーマから上書きする方法

今回は、プラグインの中にあるファイルを、テーマのテンプレートファイルとして使う方法について書きます。

つまり、wp-content/plugin/my-plugin-name/templates/single-example.phpのようなファイルがあったとして、それがテーマ内のsingle.phpや、page.phparchive.phpと同じように使えるようにする、という意味です。

このやり方のメリットとしては、

  • カスタム投稿タイプをサポートするプラグインであってもインストールしたらすぐ使える

というものがあります。カスタム投稿タイプの定義をして、ユーザーがデータを入力できるようにし、その表示のテンプレートもプラグイン側で持つ、ということができます。

逆に、この方法の難しいところとして、

  • テンプレートの html の構造が違うからテンプレートファイル使いにくい

という問題があります。

仕様

以下のような動き方にしたいと思います。

  1. ある名前のファイルが子テーマにあればそれを採用
  2. 親テーマにあればそれを採用
  3. テーマに見つからなければ、プラグイン内のあるディレクトリにあるものを採用

上記のような流れでファイルを探していくことで、配布するプラグインでテンプレートファイルを配布しつつ、テーマから上書きできるようにする、というのができるようになります。

get_template_part も同じようにやりたい

次回は以下のリンクを参考に、 get_template_part() を同じようなイメージでできないかを見てみます。

https://pippinsplugins.com/template-file-loaders-plugins/

↓ プラグインを作る方々への本、書きました。 ↓

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です