子テーマでfunctions.phpの関数を再定義する方法1

子テーマを作成したときにfunctions.phpに定義した関数を子テーマで再定義する方法のメモ記事です。

functions.php処理の順番

親テーマと子テーマのfunctions.phpの処理の順番は、子テーマfunctions.phpを先に実行して、次に親テーマfunctions.phpを処理します。

functions.php(子テーマ)⇒functions.php(親テーマ)

子テーマで関数を再定義する方法

【例:親functions.ph】

if ( ! function_exists( 'twentytwelve_entry_meta' ) )

上のコードのように親テーマで定義されている関数が、function_exists関数で関数の有無を判定するように書かれている場合、子テーマfunctions.phpで、親functions.phpにある関数と同じ関数名で再定義することが出来ます。

functions.phpファイルは、子テーマの関数を先に実行して、そのあと親テーマのfunctions.phpファイルにある関数を実行するので、親テーマの関数はfunction_exitsts関数で判定されてから実行になるので、子テーマで同じ関数名で定義されている関数は実行しないのでエラーになりません。

【例:子functions.php】

function twentytwelve_entry_meta()

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です