WordPressで現在のページ表示に使用しているテンプレートをすべて知る

WordPressでは特にプラグインなどを使用しなくても、トップページ(インデックスページ)・固定ページ・カテゴリ、あるいはカスタム投稿タイプなど、表示の際にテーマ中のデフォルトとは異なったテンプレートを適用することができます。
しかし、逆にテーマ構成が複雑になった場合に該当ページが「どのテンプレートで表示されているか?」分からなくなってしまうケースもあります。

現在表示しているテンプレート・テーマ名を取得

このような際にWordPressでは適用されているテンプレートの情報を持つ$templateという関数で調べることができます。

テーマとテンプレート表示の様子

テーマの「simplicity」の「single」のテンプレートが適用されている

ヘッダーテンプレートのbody直下あたりにglobal $templateを挿入するとブラウザの最上部あたりに適用されているテーマとテンプレート名を表示できます。

includedしているテンプレートを表示する

WordPressではヘッダー・メイン・サイドバー・フッタなどをパートごとに読み込むわけですが、各テンプレート内においてもget_template_partを使うことにより、さらに別のテンプレートを読み込むことができます。
便利ではあるのですが、includedが多いとカスタマイズの際などにどのテンプレートで表示されているのか非常に分かりにくくなってしまいます。
WordPressに同梱のTwentyシリーズなどもそういう傾向がありまね。

こういった際に役立ちそうな該当ページの表示に使われているテンプレートを確認する方法を紹介します。
このPHPコードを読み込んだ時点でincludedされているテンプレートの一覧を書き出しますので、こちらはフッタテンプレートのwp_footer()以降/body直前に挿入ください。
最下部にincludedされたものを含むすべての使用テンプレートを表示します。

Twenty Fourteenの構成テンプレート

例としてカスタマイズに人気のTwenty Fourteenの投稿ページ表示に使用されているテンプレート一覧を取得してみました。

  • functions.php
  • custom-header.php
  • template-tags.php
  • customizer.php
  • featured-content.php
  • widgets.php
  • single.php
  • header.php
  • content.php
  • comments.php
  • sidebar-content.php
  • sidebar.php
  • footer.php
  • sidebar-footer.php

いかがでしょうか。
投稿ページの表示に実はこんなにたくさんのテンプレートを使っているのです!
一応、is_user_logged_inでログイン状態時のみテンプレート情報を表示するようにしています。
プラグイン化しようとも考えたのですが、大した内容ではないですし、基本的にカスタマイズ時以外では不要なコードかと思いますので、ソースをそのまま公開しています。
制作案件として承っている場合はお客様への納品時の消去をお忘れなく!

フォローする

WordPressとはなにかもう一度おさらいしてみよう!

コメントをどうぞ

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


− 二 = 4

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">