「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
カテゴリーごとにテンプレートを分ける
Movable TypeのFAQの1つとして、「カテゴリーごとにテンプレートを分けて出力したい」というものがあります。
例えば、カテゴリーAはテンプレートXで出力し、カテゴリーBはテンプレートYで出力する・・・といった具合です。
この方法を紹介します。
1.カテゴリーごとにまったく異なるテンプレートを使いたい場合
この場合は、カテゴリーごとに別々のインデックステンプレート(カテゴリーアーカイブテンプレートではない)を作ります。
そして、エントリーの一覧を出力する際に、<MTEntries category="カテゴリー名">~</MTEntries>のようにして、特定のカテゴリーのエントリーだけを出力するようにします。
2.テンプレートの大半の部分が同じで、一部だけがカテゴリーごとに異なる場合
この場合は、カテゴリーアーカイブテンプレートの中で、カテゴリーの名前を判別して処理を分けるようにします。
拙作の「変数処理を改良するプラグイン」を利用すると、カテゴリーの名前を判別して処理を分けることができます。
例えば、カテゴリーAとカテゴリーBで出力する内容を変えたい場合、以下のようにタグを組みます。
<MTTagValueVar name="cat"><MTArchiveTitle></MTTagValueVar> <MTIfStrVar name="cat" value="カテゴリーA"> カテゴリーAの時に出力する内容 </MTIfStrVar> <MTIfStrVar name="cat" value="カテゴリーB"> カテゴリーBの時に出力する内容 </MTIfStrVar>