1

私の親テーマには、最初のステートメントのない関数があります:

if (!function_exists(... etc...

子テーマで同じ名前の関数に置き換えるにはどうすればよいですか? functions.php に関数を作成すると、同じ名前の関数が 2 つあるため、エラーが発生します。

ご回答ありがとうございます。

4

3 に答える 3

1

これは私のために働いているようです:

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') );
于 2012-12-14T13:34:16.560 に答える
0

子テーマの function.php ファイルは、親テーマの functions ファイルのに読み込まれるため、子テーマで関数を再宣言しても致命的なエラーは発生しません。そのため、親テーマはfunction_existsチェックを使用しています。

子テーマでフック (init など) の後に関数を宣言しているのではないでしょうか?

これに関するコーデックスのドキュメントは次のとおりです。

于 2012-05-26T16:53:52.573 に答える