get_template_partが常に子テーマを最初にチェックするようにするにはどうすればよいですか?


8

どうすれば、WPが実行時に常に子テーマフォルダーを最初にチェックするように強制できますget_template_partか?

例:子テーマはに読み込まget_template_part('content', 'inventory')single.phpます。すべての子テーマ(および多くのテーマ)は同じ共通在庫テンプレートベースを共有するため、ファイルcontent-inventory.phpは親テーマにあります。ここまでは順調ですね。

上記のインベントリテンプレートに、各子テーマに固有の小さなセクションを追加したいと思います。に追加get_template_part('content', 'inventory-special')してcontent-inventory.phpも、最初に子テーマディレクトリはチェックされません。


3
私の回答に反対票を投じ、その理由についてコメントしなかった2人に感謝します。誰かが否定的な批判で自分を改善するとどう思いますか?
m-torin 2011年

回答:


5

デフォルトではそうです。get_template_part()関数用途locate_template()特異性およびstylesheetpath / templatepathのために、テンプレートファイルを介しカスケード。

したがって、子テーマにが含まれている場合はcontent-inventory.php、それget_template_part()が含まれます。そうでない場合は、content-inventory.php親テーマで検索します。見つからない場合は、content.php最初に子を探し、次に親を探します。

編集:

あなたが何を意味するのかを理解することを試みます。私が誤解しているかどうか明確にしてください...

と呼ばれる親テーマテンプレートファイル内に新しいテンプレートパーツファイルを含めますcontent-inventory.phpか?

AFAIKでできる唯一の方法は、Child Themeコピーcontent-inventory.phpし、get_template_part()必要に応じて新しい通話を追加することです。

という名前のファイルが親テーマ子テーマの両方にcontent-inventory.php含まれている場合、WordPressは使用して含まれている場合、常に子テーマバージョンを使用します。get_template_part()


@ Kaiser、@ Chip Bennett:WPは明らかにの親テーマをチェックしcontent-inventory.phpます。コーデックスとシンプルな経験はそれを明確にします。ただし、シークされているファイル(レベル2)が親テーマフォルダーにある場合、WPは、シークさget_template_partれているファイル(第3層インクルード)内に含まれている子テーマを再チェックしません。これはあなたにとって異なった働きをしましたか?
m-torin 2011年

私はあなたの質問/問題を理解していません。特定のテンプレートファイル名について、WordPressは常に最初にテーマをチェックします。第2層と第3層のファイルの意味を説明できますか?
チップベネット

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.