web-dev-qa-db-ja.com

Include_onceの代わりにget_template_part()を関数ファイルで使用すべきですか?

私はテーマチェックのプラグインを使って自分のテーマのエラーやレコメンデーションをチェックしています。私はheader.phpやindex.phpのようなテーマファイルではget_template_part()を使いますが、functions.phpではinclude_once()を使いますcheckはこれらを指しておらず、functions.phpに含まれているwidgets.phpファイルで使われているinclude_onceを指しています

私の質問は、私たちはすべてのinclude_once()とinclude()の代わりにget_template_part()を使うべきか、それとも単に頻繁に使われるマークアップだけを取得するためにそれを使うべきかということです。 get_template_part()を使用することが推奨されているだけですが、ベストプラクティスと推奨事項に従うことが好きです。

前もって感謝します。

10
Pierre

あなたのfunctions.phpは出力を作成しないので、 locate_template() を使うべきです。

例:

locate_template( 'php/functions.nav-menu.php', TRUE, TRUE );

この関数はwp-includes/theme.phpにあります。最初のパラメータはテーマルートを基準にしたfile path、2番目のパラメータはWordPressにそれをloadするかどうか、3番目のパラメータはonceをロードするように指示します。

これで、子テーマは、同じ名前のファイルを自身のテーマルートの同じ場所に配置するだけでファイルを上書きできます。

4
fuxia