拙著「FXはチャートで勝つ!」が発売されました。
FX(外国為替証拠金取引)でのチャートの読み方を解説しています。
自由国民社刊で、定価1,728円(消費税込み)です。
SuperSortプラグインでカテゴリアーカイブにサブカテゴリの記事も出力する
先日、SuperSortプラグインに対し、以下のようなご質問をいただきました。
- カテゴリアーカイブで、サブカテゴリも含めて記事を出力したい
- 記事はカテゴリごとにまとめて、カテゴリごとに何らかの文章(カテゴリ名等)を出力したい
上記のようなことは、タグの組み合わせを工夫すれば可能です。
その方法を解説します。
MTSubCategoriesタグとの組み合わせ
サブカテゴリの一覧を出力するタグとして、MT標準のMTSubCategoriesタグがあります。
このタグをカテゴリアーカイブテンプレート内で使うと、各カテゴリのサブカテゴリを順次出力することができます。
例えば、カテゴリの構造が以下のようになっているとします。
- カテゴリA
- カテゴリA-1
- カテゴリA-2
- カテゴリA-3
- カテゴリB
- カテゴリB-1
- カテゴリB-2
- カテゴリB-3
この状況で、カテゴリAのカテゴリアーカイブページを再構築するとします。
また、カテゴリアーカイブテンプレートにMTSubCategoriesタグが含まれているとします。
すると、このMTSubCategoriesタグでは、カテゴリAより下の階層(カテゴリA-1など)のカテゴリの一覧が出力されます。
さらに、MTSubCategoriesタグに「include_current="1"」のモディファイアを加えると、下の階層のカテゴリに加えて、そのカテゴリ自身も出力することができます。
例えば、カテゴリアーカイブテンプレートに<MTSubCategories include_current
="1">のタグが含まれているときに、カテゴリAのカテゴリアーカイブページを再構築するとします。
この場合、このMTSubCategoriesタグでは、カテゴリAと、それより下の階層のカテゴリの一覧が出力されます。
MTSubCategoriesタグとMTSortedEntriesタグを組み合わせる
MTSubCategoriesタグのブロックの中で、MTSortedEntriesタグを使うことができます。
この性質を利用すれば、冒頭にあげたようなカテゴリアーカイブを出力することができます。
具体的には、カテゴリアーカイブテンプレートの中で、ブログ記事一覧を出力する部分を、以下のようにします。
<MTSubCategories include_current="1" sort_method="SortCatFld::Sort">
カテゴリの情報を出力する処理
<MTSortedEntries>
カテゴリ内の個々のブログ記事を出力する処理
</MTSortedEntries>
<MTSubCatsRecurse>
</MTSubCategories>
例えば、MT 4.2の標準テンプレートセットの場合、カテゴリアーカイブテンプレートのブログ記事一覧の部分を、以下のよう変えると良いでしょう。
<MTSubCategories include_current="1" sort_method="SortCatFld::Sort">
<div>カテゴリ「<MTParentCategories glue=":"><MTCategoryLabel></MTParentCategories>」の記事</div>
<MTSortedEntries>
<$MTInclude module="ブログ記事の概要"$>
</MTSortedEntries>
<MTSubCatsRecurse>
</MTSubCategories>
