月別アーカイブの欄をスッキリさせる

月別アーカイブの欄が非常に長い。
日記を書くようになって約5年間だから、60ヶ月。
つまりは月別アーカイブの欄が“60行”にもなっているのである。
これはスペースのムダ。

そこでここをスッキリさせることにしたのだが…

年と月を分離させて、コンパクトに表示されるようになったが、
ソート(sort_order=”ascend”)が無視されてしまい、
最終的にやりたいことに辿り着けない。

こういう時はネット検索。
スバリ「月別アーカイブのソートはできない」そうだ。

ソートに関しては、こちらのページにテクニックが掲載されていた。
Chitatopops: Movable Type:月ごとのアーカイブのリストを登り順に

ソートの方法が分かれば、もうできたようなもの。
まずは「月別アーカイブ」取り出してソート、それから年と月を分離させてみた。

<?php
<MTArchiveList archive_type="Monthly">
$monthlyarchivereverse[] = "<$MTArchiveLink$>\n";
</MTArchiveList>
$monthlyarchive = array_reverse($monthlyarchivereverse);
$tyb="";
foreach($monthlyarchive as $temp) {
$ty=substr($temp,34,4);
$tm=substr($temp,39,2);
if ($ty!=$tyb){
if ($tyb!=""){
echo "<br />";
}
echo "$ty"."年<br />";
}
echo "<a href=\"$temp\">"."$tm"."月</a>\n";
$tyb=$ty;
}
?>

年と月を取り出すところがもう少しスマートにできるといいのだが。



関連エントリー