WordPressの便利な機能として子テーマ機能があります。
これまでテーマのカスタマイズは直接テーマのファイルを編集する必要がありましたが、子テーマ機能で既存テーマを継承し必要部分だけ編集することで元のテーマがアップデートされたとしても(基本構造が変わってなければ)カスタマイズした内容を残したままアップデートができたりしてました。
本blogもWordpressの基本テーマのTwentyTenを親としてちょこっとカスタマイズした子テーマを利用してました。
で、この度widgetエリアをサイド部分ではなくトップページにも置けるようにしたいなぁ・・とあれこれ編集してたのですが、子テーマの function.php の扱いが特殊で苦労しました。。
通常の表示用の~~.phpやstyle.css のファイルは親テーマの後に子テーマのファイルが読まれるので親テーマと異なる分だけ編集すれば反映されるのですが、function.phpだけはその逆で子テーマのfunction.phpの後に親テーマのfunction.phpが読まれるようなのです。
参考なったのは下記サイト。
[ WordPressの子テーマで、親テーマのfunctions.phpを上書きする方法 – ふじこのプログラミング奮闘記 ]
要は、子テーマの方で変更予定の親テーマの関数を読まないようにしてから、新たに子テーマの方でその関数を再定義するとの事です。
なるほどなー。
おまけに、Widgetの追加方法も参考にさせてもらいました。
[ WordPressでウィジェットエリアを増やす方法 – ふじこのプログラミング奮闘記 ]