サブカテゴリ、作っては見たものの適応と表示はしていませんでした。
なかなか思ったように表示できず……あちこち参考にしつつ調整中。まだ整理できていないです。これからちょっとずつやります。
参考にさせていただいたのは、亜細亜ノ蛾 - Weblogさんの「MT でサブカテゴリ以下も全て表示させるには?」や、Hitori-gotoさんの「サブカテゴリ。」等々。
しかし、表示はできたのですが「新着・追記エントリーにマークを付ける」と併用できません。
MTEntryDateがMTSubCategoriesの中に含まれていると、どうもエラーになってしまうみたい。
んー……それほどサブカテゴリに固執するほどでもないので……ひょっとしたらまた元に戻すかも知れません。
【1/4追記】
なにをもがいていたのかよく分からないほど、あっさり解決しました。笑。
下に書いておいたソースも書き直しておきます。
ちなみにうちのソースは以下のとおり。
php~という部分はnew、upマークの表記です。以前のエントリを参照して下さい。
<MTSubCategories>
<MTSubCatIsFirst><ul type="none"></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li type="none"><strong><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryDescription></a></strong> [<$MTCategoryCount$>] <br />
<MTEntries lastn="2" >
└ <a href="<$MTEntryPermalink$>"><$MTEntryTitle trimj2_to="20"$></a>
<?php
$hours = 12; // example $hours = 3 (3 hours), $hours = 48 (2 days)
$nowtime = strtotime("now");
$entry = strtotime("<$MTEntryDate format="%y%m%d %H:%M:%
S"$>");
$last = strtotime("<$MTLastModified format="%y%m%d %H:%M:%
S"$>");
$diff = date("U", ($nowtime - $entry)) / 3600;
$diff2 = date("U", ($nowtime - $last)) / 3600;
if ($hours > $diff) {
echo "<img src='<$MTBlogURL$>images/new.gif' alt='New!' />";
}
else {
if ($hours > $diff2) {
echo "<img src='<$MTBlogURL$>images/up.gif' alt='Up!' />";
}
}
?><br />
</MTEntries>
<MTElse>
<MTHasSubCategories>
<li><MTCategoryDescription>
</MTHasSubCategories>
<MTHasNoSubCategories>
<li style="display:none;"><MTCategoryDescription>
</MTHasNoSubCategories>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3"></li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
それから、Category Archive テンプレートの
<MTEntries> ... </MTEntries>
の部分を以下のように書き換えます。
<MTEntriesWithSubCategories> ... </MTEntriesWithSubCategories>
これをやっておかないと、親カテゴリをクリックしたときに、子カテゴリをカウントしてくれません。
それじゃただカテゴリ増やしただけなのと変わらないじゃんー。
結構融通の利かないタグだ……もうちょっと使いやすいといいんだけど。
このエントリーのトラックバックURL:
≫ サブカテゴリーを表示する from *acoustic
カテゴリーリストにサブカテゴリーも表示するようにしました。 参考にさせていただい... [続きを読む]