私の子供のfunctions.phpファイルでget_template_directory()
を置き換えることは可能ですか?
ファイルを変更したいのですが。
/**
* Load Custom Post types file.
*/
require get_template_directory() . '/inc/post-types.php';
テーマを更新するときに、自分の作業を上書きしないことをお勧めします。そのため、親ファイルの登録を解除してから、子のファイルを子の関数ファイルに再登録できますか。
しかし、Wordpress 4.7では、この問題に対処するために2つの新しい機能が導入されました。
get_theme_file_path()
(絶対ファイルパスの場合)とget_theme_file_uri()
(URLの場合)は、最初にそのファイルの子テーマを自動的に調べ、次に親テーマにフォールバックするという点でget_template_part()
と同じように機能します。
あなたの例では、4.7を使って次のように書き直すことができます:
/**
* Load Custom Post types file.
*/
require get_theme_file_path( 'inc/post-types.php' );
あなたはあなたの子供のテーマでget_stylesheet_directory_uri()
の代わりにget_template_directory()
を使う必要があります。
WordPressコーデックスから:
子テーマが使用されている場合は、親テーマディレクトリのURIが返されます。 get_template_directory_uri()は、子テーマに含まれる/上書きされることを意図していないリソースに使用する必要があります。 get_stylesheet_directory_uri()を使用して、子テーマに含める/上書きすることを意図したリソースを含めます。
get_stylesheet_directory_uri()
子テーマが使用されている場合、この関数は子のテーマディレクトリURIを返します。子テーマによって上書きされないようにするには、get_template_directory_uri()を使用してください。