Shinichi Nishikawa's

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

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

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

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

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

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

という問題があります。

仕様

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

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

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

https://gist.github.com/ShinichiNishikawa/25ff4e795f3d00ed5b94

get_template_part も同じようにやりたい

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

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

モバイルバージョンを終了