get_template_part
を実行するときにWPに常に最初に子テーマフォルダをチェックさせるにはどうすればよいですか?
例:childテーマはsingle.php
にget_template_part('content', 'inventory')
をロードします。すべての子テーマは(そしてたくさんありますが)同じ共通インベントリテンプレートベースを共有しているので、ファイルcontent-inventory.php
は親テーマにあります。ここまでは順調ですね。
私はそれぞれの子供のテーマに固有のものになる、上記の在庫テンプレートに小さなセクションを追加したいと思います。 content-inventory.php
にget_template_part('content', 'inventory-special')
を追加しても、子テーマのディレクトリが最初に確認されることはありません。
デフォルトではあります。 get_template_part()
関数は、locate_template()
を使用して、具体性とstylesheetpath/templatepathの順にテンプレートファイルをカスケードします。
ですから、あなたの子供のテーマがcontent-inventory.php
を含んでいれば、get_template_part()
がそれを含みます。そうでなければ、それは親のテーマでcontent-inventory.php
を探します。見つからない場合は、最初に子、次に親でcontent.php
を検索します。
編集:
あなたが何を意味するのか理解するために突き刺すこと。私が誤解しているかどうかを明確にしてください...
新しいテンプレートパーツファイルをcontent-inventory.php
という名前のParent-Themeテンプレートファイルに含めますか?
あなたがそれをすることができるという唯一の方法は、content-inventory.php
をあなたの子テーマ にコピーして、それから必要なところに新しいget_template_part()
呼び出しを追加することです。
content-inventory.php
という名前のファイルが both Parent および Childテーマに含まれている場合、WordPressは 常に 含まれる場合は Childテーマ バージョンを使用します。 get_template_part()
を使います。
get_template_part()
はデフォルトでこれを行います。