サーチ…


備考

WordPressのデバッグ用プラグイン:

前書き

WordPressテーマを作成するときに学ぶ最も重要なことの1つは、テーマのWordPressテンプレート階層です。テンプレート階層は、各要求に対してどのような順序でロードされるテンプレートファイルを定義します。最初のテンプレートが階層に存在しない場合、WordPressはindex.php終わるまで次のテンプレートをロードしようとします。

テンプレート階層を詳しく説明するには、もちろん、完全な構造の画像を使用するのが最善の方法です。

WordPressのテンプレート階層

テンプレート階層は、アーカイブ、単一ページまたはフロントページのようなプライマリタイプのページから始まり、次に、著者アーカイブ、タグアーカイブ、ページまたはブログ投稿のようなサブタイプから始まります。

この後、ロードされる実際のテンプレートが見つかります。最初に、特定のアーカイブタイプまたは投稿をターゲットにするために、スラッグまたは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() ) ?>
-->


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow