都道府県カテゴリの下にサブカテゴリとして市区町村がある、というような場合、市区町村カテゴリの数が多いので、わかりやすく五十音順で整理したい、という場面があると思います。
埼玉県(親カテゴリ)
└上尾市
└さいたま市
└熊谷市
└川越市
└所沢市
└川口市
例えば「さいたま市」なら、「さ行」、熊谷、川越、川口市は「か行」とタグを付けておきます。
タグ付けには、カスタムフィールド(または空いているカテゴリの説明欄)を使用して、以下のように並べ替えたいとします。
あ行
└ 上尾市
か行
└ 川口市
└ 川越市
└ 熊谷市
さ行
└ さいたま市
た行
└ 所沢市
ちょっと試行錯誤して出来なかったので、以下のページを参考に、ハッシュを使って作りました。
http://www.koikikukan.com/archives/2011/09/05-015555.php
http://communities.movabletype.jp/2011/09/post-437.html
基本的には小粋空間さんのソースそのままでいけました。
toplevelcategoriesをsubcategoriesにしただけです(^^ゞ
また、カスタムフィールドを使っています。
更に五十音順に並べ替える部分で、sort_by=”key” とすれば、あ行、か行、さ行…の順に並べることが出来ます。
<mt:SubCategories>
<mt:if tag="CategoryInitial">
<$mtCategoryInitial setvar="area"$>
<mt:SetVarBlock name="list{$area}" append="1">
<li><a href="<$mt:CategoryArchiveLink$>" title="<$mt:CategoryLabel$>"><$mt:CategoryLabel$></a></li>
</mt:SetVarBlock>
</mt:If>
</mt:SubCategories>
<mt:loop name="list" sort_by="key">
<h3><mt:GetVar name="__key__"></h3>
<ul><mt:GetVar name="__value__"></ul>
</mt:loop>
コメント