主カテゴリーと副カテゴリーを区別して出力する
複数のカテゴリーに属しているエントリーページに、主カテゴリーの説明文(とリンク)を表示させる方法です。
このサイト(goat10.com)内では、エントリー・アーカイブの<title>やパンくずリスト(ロケーション、もしくはトピックパス)に使用しています。
エントリーが属する主カテゴリー名の表示だけなら<$MTEntryCategory$>で実現できるのですが、自分は表示したいカテゴリー名を<$MTCategoryLabel$>(カテゴリー名)ではなく<$MTCategoryDescription$>(カテゴリーの説明)に入力しているので、表示にはこちらを出したかったのです。
【1】MTタグ+PHP
<MTEntryCategories>
<?php
if ('<$MTCategoryLabel encode_php="q"$>' == '<$MTEntryCategory encode_php="q"$>') {
print '<a href="<$MTCategoryArchiveLink encode_php="q"$>"><$MTCategoryDescription encode_html="1" encode_php="q"$></a>';
}
?>
</MTEntryCategories>
しばらくはこの方法で実現させていたのですが、htmlファイルでは実現できない上に、属するカテゴリーが多ければ多いほど、php処理が多くなり、再構築(リビルド)時に吐き出すソースにも無駄なものが増えるのでどうにかならないものか・・・と思っていた所、以下のプラグインを発見。
【主カテゴリーと副カテゴリーを区別して出力する】
EntryCategoriesModified.pl
The blog of H.Fujimotohttp://www.h-fj.com/blog/archives/2005/10/12-085029.php
【2】EntryCategoriesModifiedタグ
<MTEntryCategoriesModified mode="primary">
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryDescription encode_html="1"$></a>
</MTEntryCategoriesModified>
これでスッキリとエントリーの主カテゴリーだけが表示出来るようになりました。
プラグイン製作者様に感謝です。