「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
記事と同じカテゴリのカテゴリ月別アーカイブリストを出力する
MTQに、「特定のカテゴリの記事の横に『そのカテゴリの月別リスト』を表示させたいです。」という質問があがっていました。
この質問に答えてみます。
記事と同じカテゴリのカテゴリ月別アーカイブリストを出力するには、ブログ記事アーカイブテンプレート(もしくはそれにインクルードするテンプレートモジュールやウィジェット)に、以下のような部分を入れます。
<mt:EntryPrimaryCategory> <mt:ArchiveList archive_type="Category-Monthly"> カテゴリ月別アーカイブリストを出力するテンプレートタグ等 </mt:ArchiveList> </mt:EntryPrimaryCategory>
例えば、Movable Type標準のクラシックブログテーマで、ウィジェットを使って同一カテゴリ月別アーカイブリストを出力したいとします。
その場合、ウィジェットの内容を以下のようにします。
<mt:If name="entry_archive"> <mt:EntryPrimaryCategory> <mt:ArchiveList archive_type="Category-Monthly"> <mt:ArchiveListHeader> <div class="widget-archive-monthly widget-archive widget"> <h3 class="widget-header"><$mt:CategoryLabel$>カテゴリの月別アーカイブ</a></h3> <div class="widget-content"> <ul> </mt:ArchiveListHeader> <li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveDate format="%Y年%m月"$> (<$mt:ArchiveCount$>)</a></li> <mt:ArchiveListFooter> </ul> </div> </div> </mt:ArchiveListFooter> </mt:ArchiveList> </mt:EntryPrimaryCategory> </mt:If>
1行目のMTIfタグで、ブログ記事アーカイブテンプレートにこのウィジェットを組み込んだ時だけ、ウィジェットを処理するようにします。
そして、2行目のMTEntryPrimaryCategoryタグと、3行目のMTArchiveListタグで、ブログ記事の主カテゴリと同じカテゴリのカテゴリ月別アーカイブリストを出力します。