WordPress

WordPress でページを表示するまでにインクルードされたテーマ関連 PHP ファイルを一覧する

TABLEofCONTENTS

テンプレートはもちろん include, require, get_template_part(), get_header(), get_footer(), get_sidebar() されたテーマ関連ファイルを全部見せ。

はじめに

WordPress のテーマを作成していると、今表示しているのはどのテンプレートファイルなのかを確認したいことがよくあります。テンプレートファイルを確認する方法は色々あるのでわりとすんなり解決するのですが、子テーマだったり get_tempate_part() を多用していると、このページのこの部分はいったいどの PHP ファイルなんだ?と悩むこともあります。そんなときに便利なロードされたファイル全部見せのスニペットを紹介します。

get_included_files() / PHP

PHP では get_included_files() で、それまでにロードされたすべてのファイルのパスを取得することができます。これを全部表示するととんでもないことになるので、テーマディレクトリ以下のファイルのみに限定するとほぼ、欲しい結果を得られます。テーマディレクトリのパスは get_theme_root() で取得できるので、

  1. get_theme_root() で始まるパスのみ抽出し、
  2. パスから get_theme_root() に一致する部分を削除します。

これでロードされたテーマ関連ファイルのみを見やすく表示することができます。

全部見せスニペット

wp_footer アクションにフックしているので、footer.php で wp_footer() してください。

また、このコードでは Debug-Bar-Extender の Variable Lookup ページで確認できるようにしているため、このまま使う場合は Debug Bar とあわせてプラグインをインストール・有効化してください。

まとめ

ファイルのパスは $includeds に配列で入っているので、Debug Bar を使わずに var_dump() などでお手軽に確認することもできます。せっかくなのでこのサイトの single ページの結果を晒しておきますね。

Included Files = array (
          0 => '/pimpmysite.net/functions.php',
          1 => '/rootstrap/functions.php',
          2 => '/rootstrap/library/class-pm-rootstrap.php',
          3 => '/rootstrap/library/class-pm.php',
          4 => '/rootstrap/library/class-pm-admin.php',
          5 => '/rootstrap/library/class-pm-page.php',
          6 => '/rootstrap/library/class-pm-ogp.php',
          7 => '/rootstrap/library/class-pm-options.php',
          8 => '/rootstrap/library/class-pm-order.php',
          9 => '/rootstrap/library/class-pm-ajax.php',
          10 => '/rootstrap/library/class-pm-scripts.php',
          11 => '/rootstrap/library/class-pm-nav-menus.php',
          12 => '/rootstrap/library/class-pm-less.php',
          13 => '/rootstrap/index.php',
          14 => '/rootstrap/header.php',
          15 => '/rootstrap/parts/html.php',
          16 => '/rootstrap/parts/head.php',
          17 => '/rootstrap/parts/og.php',
          18 => '/rootstrap/parts/og-article.php',
          19 => '/rootstrap/parts/favicon.php',
          20 => '/rootstrap/parts/analytics.php',
          21 => '/rootstrap/parts/afterbody.php',
          22 => '/pimpmysite.net/parts/masthead.php',
          23 => '/pimpmysite.net/parts/navigation.php',
          24 => '/pimpmysite.net/parts/billboard.php',
          25 => '/pimpmysite.net/parts/social.php',
          26 => '/rootstrap/parts/primary.php',
          27 => '/pimpmysite.net/content.php',
          28 => '/pimpmysite.net/sidebar.php',
          29 => '/rootstrap/footer.php',
          30 => '/rootstrap/parts/colophon.php',
        )

テンプレートは「13:親テーマの index.php」です。これは Debug Bar の WP Query のページでも確認できます。
Debug Bar | WP Query
テンプレートの確認方法は色々紹介されているので参考にしてみてください。

(クエリー)テンプレートを確認する方法