「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
今年度の新着記事を出力する
昨日、twitterで@webbingstudioさんが以下のようなツイートをしていました。
全ての国産CMSは「年度別アーカイブ」を採用すべきだと思うのです。これだけで日本の需要がぐわしと上がるはず。MTやWPだと条件分岐でなんとかなるけど無駄が多い。
年度別アーカイブは、拙作のExtendArchivesプラグインでできるので、そのことをお知らせしました。
すると、さらに以下のツイートをいただきました。
@hjfuji おぉ(°Д° このプラグインですが、mtEntriesの条件モディファイアには使えないですよね。今年度分の新着記事だけ出してと言われたことがあるのです。流石に需要はほとんどないと思うのでmtIfで対応しましたが。
MTEntriesタグのモディファイアには使えませんが、ExtendArchivesプラグインにMTArchiveListタグとMTEntriesタグを組み合わせれば、今年度の新着記事を簡単に出力することができます。
その方法を紹介します。
1.MTArchiveListタグ
MTArchiveListタグはMovable Type標準のテンプレートタグで、名前の通りアーカイブのリストを出力するテンプレートタグです。
サイドバーに月別アーカイブの一覧を出力するような時に、このタグを使います。
MTArchiveListタグでは、archive_typeモディファイアを指定することで、アーカイブリストを出力するアーカイブのタイプを指定することができます。
また、lastnモディファイアで、出力するアーカイブの件数を指定することもできます。
例えば、以下のようにすると、最近6ヶ月間の月別アーカイブのリストを出力することができます。
<mt:ArchiveList archive_type="Monthly" lastn="6"> アーカイブのタイトル等を出力する部分 </mt:ArchiveList>
拙作のExtendArchivesプラグインをインストールすると、年度別アーカイブは半期別アーカイブ等を作ることもできます。
また、MTArchiveListタグで、年度別アーカイブ等のリストを出力することもできます。
年度別アーカイブを出力する場合だと、archive_typeモディファイアに「FiscalYearly」を指定します。
2.MTArchiveListタグとMTEntriesタグを組み合わせる
MTArchiveListタグのブロックの中でMTEntriesタグを使うと、アーカイブ毎にブログ記事の一覧を出力することができます。
例えば、以下のようにテンプレートを組むと、最近6ヶ月間のブログ記事のタイトル一覧を、月ごとにまとめて出力することができます。
<mt:ArchiveList archive_type="Monthly" lastn="6"> <h2><$mt:ArchiveTitle$></h2> <ul> <mt:Entries> <li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a>(<$mt:EntryDate$>)</li> </mt:Entries> </ul> </mt:ArchiveList>
3.今年度の新着記事を出力する
今年度の新着記事も、MTArchiveListタグとMTEntriesタグの組み合わせで出力することができます。
まず、MTArchiveListタグに「archive_type="FiscalYearly"」と「lastn="1"」のモディファイアを付けたブロックを作ります。
これで、年度別アーカイブのリストの最新1件(=今年度のアーカイブ)を出力することができます。
そして、このMTArchiveListタグのブロックの中に、MTEntriesタグのブロックを入れます。
例えば、以下のようにすれば、今年度の新着記事をul/liのリストで出力することができます。
<mt:ArchiveList archive_type="FiscalYearly" lastn="1"> <ul> <mt:Entries> <li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a>(<$mt:EntryDate format="%Y/%m/%d"$>)</li> </mt:Entries> </ul> </mt:ArchiveList>
上記のリストで、MTEntriesタグに「lastn="○○"」のモディファイアを追加して、今年度の新着記事を○○件出力することもできます。
また、MTEntriesタグに「sort_order="ascend"」のモディファイアを追加して、今年度の新着記事を日付の古い順に出力することもできます。