このサイトをWordPressに移行する際、標準テーマがなかなかよかったのでそのまま使っていたんですが、色々と細かい機能が欲しくなるわけです。そうすると必然的にテーマのfunctions.phpをいじることになります。
が、これ、やってはいけませんね。なんでかというと、自動アップデートすると、functions.phpに加えた変更が全て消えるからです。実際にやってしまって、今までの作業が水の泡になって泣きました。
というわけで、そうならないようにするにはどうしたら良いかというと、プラグインを自前で作るか、テーマを自作する事になると思いますが、よく良く調べてみると、テーマには「子テーマ」というのが作れるようなんですね。
子テーマをつくると、親テーマに対して機能を拡張したり、動作やスタイルを変更したりすることができます。変更しない部分は親テーマのものを引き継ぐことができます。つまり、functions.phpをいじるようなことをするなら、子テーマを作って、変更する部分だけを子テーマのfunctions.phpに書けばいい、ってことですね。こうすれば、自動アップデートしても消えないようになります。ということで、やってみました。
やり方は非常に単純。style.cssと、functions.phpを適当なフォルダに入れてzipして、管理画面からアップロードするだけです。style.cssのヘッダー情報に
Template: twentyten
って感じでTemplate:行を加えるだけで、twentytenテーマの子テーマになります。結局、style.cssはこんな感じにしました。
/* Theme Name: effy.jp default theme Author: Toshio Koide Template: twentyten */ @import url('../twentyten/style.css');
これだけです。で、functions.phpに書きたかった関数群を書いて、無事動かせました。functions.phpに何を書いたかは、「スラッグを使ってリンクを貼る」のエントリで。