いままで、WordPress-mu 2.7 でサイトを構築していたので、WordPress 3.0.1 にしたら、テーマ関係がガラッと変わっていてびっくり。DB回りは大して変わってないのに。
というわけで、『ええー、こんなことも知らないの?』ということを中心にメモっていきます。

  • 子テーマ
    WP3には子テーマというやつができたらしい。いままで使いたいテーマをコピーして、それをシコシコ直していたんだけど、それはお行儀悪いから『親は誰それで、自分は誰それの子供です』と宣言して使うようになったらしい。なるほど、PHPerにも倫…(以下自主規制)
    詳しくは、子テーマを見てもらうことにして、簡単にいうと、/wp-content/themes の下に子テーマのディレクトリを作って、その中に style.css を入れればいいと。
    そんでもって、style.css の頭にこう書いておくと。

    /*
    Theme Name:  kid
    Template:        twentyten
    */
    @import url('../twentyten/style.css');
    

    これで、WP3デフォルトの twentytenの子供ですよということです。うんじゃ、テンプレート自体直したいときはどうすんのというのはまた別で。もちろんできます。

  • 子テーマの function.php
    これは、親テーマの前に読み込まれるようになっています。同じ名前があった場合、親テーマの関数が、こういうのをちゃんとやってくれてると二重定義になりません。

    
    

    子テーマに出ていたサンプルはまさにいつもいつも使うやつなので、助かりました。こうやってやればスマートなんだ。

    <?php
    function favicon_link() {
        echo '' . "\n";
    }
    add_action('wp_head', 'favicon_link');
    ?>
    

    サンプルの favicon.ico はルートでしたが、通常は子テーマの中に置くので(マルチサイトなので)、ディレクトリを付けておきました。
    従来の ’template_url’ だと親テーマ(この場合、twentyten)のディレクトリをもってくるのでNGです。