WordPress
テンプレート階層
サーチ…
備考
WordPressのデバッグ用プラグイン:
前書き
WordPressテーマを作成するときに学ぶ最も重要なことの1つは、テーマのWordPressテンプレート階層です。テンプレート階層は、各要求に対してどのような順序でロードされるテンプレートファイルを定義します。最初のテンプレートが階層に存在しない場合、WordPressはindex.php
終わるまで次のテンプレートをロードしようとします。
テンプレート階層を詳しく説明するには、もちろん、完全な構造の画像を使用するのが最善の方法です。
テンプレート階層は、アーカイブ、単一ページまたはフロントページのようなプライマリタイプのページから始まり、次に、著者アーカイブ、タグアーカイブ、ページまたはブログ投稿のようなサブタイプから始まります。
この後、ロードされる実際のテンプレートが見つかります。最初に、特定のアーカイブタイプまたは投稿をターゲットにするために、スラッグまたはIDを使用する最も特定のテンプレートがあります。
たとえば、 category-books.php
ような特定のスラッグを持つカテゴリのみを対象とするcategory-$slug.php
は、slug book
持つカテゴリに対してのみ使用されます。もう1つの例は、特定のIDを持つページのみを対象とするpage-$id.php
です。たとえば、 page-41.php
はID 41のページのみを対象とします。
特定のタイプまたは投稿をターゲットとするテンプレートの後に、すべてのアーカイブページの場合はarchive.php、すべてのページの場合はpage.php
ような汎用タイプのテンプレートが使用されます。ただし、現在のページが階層内の上位のテンプレートと一致しない場合にのみ使用されます。
最後に、WordPressがテンプレートディレクトリ内で一致するテンプレートを見つけられなかった場合、最後のフォールバックは常にWordPressテーマで唯一必要なテンプレートファイルであるindex.php
です。
デバッグ
hiearchyのデバッグ中に失われるのは簡単です。 PHPの組み込みコマンドdebug_backtrace
使用することができます。
次のスニペットをデバッグしたいテンプレートの中に入れて、生成されたページを表示します。
<!--
<?php print_r( debug_backtrace() ) ?>
-->