このブログではカテゴリーの並び順は半角スペース法を使ってコントロールしていますが、<MTEntries>で複数カテゴリーを指定できないという弱点がありました。が、これまではそういう使い方をする必要がなかったため、この問題は気にせず放置していました(^^;。
しかしMultiBlogの絡みで<MTEntries>系のタグ内で複数カテゴリを使う必要性が出てきたため、MTタグを使ったトリッキーな方法に一部変更しました。これも半角スペース法同様、目からウロコ系のテクニックで、プラグイン無しで使えます。のでダイナミック派にもおすすめです。
ネタ元はオラオラさんの「NOプラグインでカテゴリーソート」から。
カスタマイズ方法
カテゴリー名の前に数字をふって順番をコントロールする、というのは他のやり方と同じですが、数字を<>で囲むのがミソ。<>ではなくて、<>なのがポイントです。
<001>MovableType
<002>REVUE
<003>MEMO
テンプレートの<$MTCategoryLabel$>に赤字のグローバル属性を追加します。
<$MTCategoryLabel decode_html="1" remove_html="1"$>
つまり、<001>をdecode_html="1"でいったん<001>に戻し、さらにremove_html="1"で<001>をHTMLタグとして除去しているわけです。結果、表示されるカテゴリ名からは<001>部分がきれいに消えて、表示したいカテゴリー名のみになるというわけです。
目的に応じた使いこなしを
今回の件では、差し当たり、親カテゴリーだけがcategory="カテゴリーA OR カテゴリーB"の対象になればよかったので、変更したのは親カテゴリのみで、子カテゴリは今まで通り半角スペース法のままでコントロールしています。
というのも、個人的にですが、管理画面でカテゴリ名の前に<001>など余計なものが付くのがどうしても嫌だーっという私の好みもありまして。自分にとって心地いいやり方を取り入れていけばいいと思います。
<追記>
MT4.25ではこの方法だとMTEntriesのcategoryモディファイアでエラーするもよう。MT4では正規表現が使えるので、以下の方法の方がおすすめのようです。
カテゴリーを好きな順番で並べる(5) regex_replace編