私の親テーマには、最初のステートメントのない関数があります:
if (!function_exists(... etc...
子テーマで同じ名前の関数に置き換えるにはどうすればよいですか? functions.php に関数を作成すると、同じ名前の関数が 2 つあるため、エラーが発生します。
ご回答ありがとうございます。
私の親テーマには、最初のステートメントのない関数があります:
if (!function_exists(... etc...
子テーマで同じ名前の関数に置き換えるにはどうすればよいですか? functions.php に関数を作成すると、同じ名前の関数が 2 つあるため、エラーが発生します。
ご回答ありがとうございます。
これは私のために働いているようです:
function fileExistsInChildTheme($file_path){
$file_directory = get_template_directory();
if(file_exists($file_directory . "-child" . $file_path)){
return $file_directory .= "-child" . $file_path;
}
return $file_directory .= $file_path;
}
require ( fileExistsInChildTheme('/includes/functions.php') );
require ( fileExistsInChildTheme('/includes/theme-options.php') );
require ( fileExistsInChildTheme('/includes/hooks.php') );
require ( fileExistsInChildTheme('/includes/version.php') );
子テーマの function.php ファイルは、親テーマの functions ファイルの前に読み込まれるため、子テーマで関数を再宣言しても致命的なエラーは発生しません。そのため、親テーマはfunction_exists
チェックを使用しています。
子テーマでフック (init など) の後に関数を宣言しているのではないでしょうか?
これに関するコーデックスのドキュメントは次のとおりです。