WordPressで現在読み込まれているテンプレートファイルを確認する方法【デバッグに便利】
WordPressでは「テンプレート階層」という仕組みによって、ページの種類に応じて使用するテンプレートが自動的に決まります。
そのため、アーカイブページ、タクソノミーページなどを作成していると、「現在どのテンプレートファイルが読み込まれているのか」を確認したい場面は少なくありません。
この記事では、現在読み込まれているテンプレートファイル名を表示する方法と、フルパスで確認する方法、HTMLコメントとして出力する方法をご紹介します。
現在読み込まれているテンプレートファイル名を確認する
現在適用されているテンプレートファイル名だけを確認したい場合は、以下のコードをテーマのテンプレートファイル(例:footer.php や page.php など)へ一時的に記述します。
<?php
global $template;
echo basename($template);
?>
表示例
page-blog.php
basename() を使用すると、フルパスではなくファイル名だけを取得できます。
作業後は不要になるため、確認が終わったら削除しておきましょう。
フルパスで確認する方法
テンプレートファイルの配置場所まで確認したい場合は、basename() を使用せず $template をそのまま出力すると、テンプレートファイルのフルパスを確認できます。
<?php
global $template;
echo $template;
?>
表示例
/home/example/public_html/wp-content/themes/mytheme/page-blog.php
テーマを複数管理している場合や、子テーマ・親テーマのどちらが読み込まれているか確認したい場合にも便利です。
HTMLコメントとして出力する方法
画面上へ表示したくない場合は、HTMLコメントとして出力する方法がおすすめです。
<?php
global $template;
echo "\n<!-- Template: " . basename($template) . " -->\n";
?>
ブラウザで「ページのソースを表示」すると、次のように確認できます。
<!-- Template: page-blog.php -->
見た目に影響を与えず確認できるため、デザイン確認中やデバッグ時にも使いやすい方法です。
この方法が役立つ場面
- どのテンプレートが適用されているか確認したい
- アテンプレート階層の結果を確認したい
- page.php と page-○○.php のどちらが使用されているか確認したい
- 子テーマ・親テーマのどちらが読み込まれているか確認したい
- テンプレートの切り替えが想定どおり動作しているか確認したい
まとめ
現在読み込まれているテンプレートファイルは、$template グローバル変数を利用することで簡単に確認できます。
ファイル名だけを表示したい場合は basename() 、配置場所まで確認したい場合はフルパスを出力すると便利です。
また、画面へ表示したくない場合は HTML コメントとして出力する方法も活用できます。
テンプレートの切り替えが期待どおりに動作しているか確認したいときは、デバッグ方法の一つとして覚えておくと役立ちます。