最近のコメント/トラックバックをエントリーごとにまとめて出力するプラグイン(改良版)

当Blogでは、最新のコメントやトラックバックをエントリーごとにまとめて出力するプラグインとして、以下の2つを公開しています。

今回、これら2つのプラグインの機能を統合し、1つのプラグインにまとめたものを作成しました。

なお、旧版とは機能はほぼ同じですが、タグの書き方が異なります。
旧版をすでにお使いの方は、そのままお使いいただく方が楽です。

1.旧版のアンインストール

前述の2つのプラグインをお使いの方は、Movable Typeのpluginsディレクトリから、それらのファイルを削除してください(EntriesRecentlyPinged.plとRecents.pl)

2.プラグインのインストール

プラグインは以下からダウンロードすることができます。

Recents_2_00.zip

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。

ダウンロードしたファイルを解凍し、それでできた「Recents」フォルダを、Movable Typeの「plugins」ディレクトリの中にアップロードします。

3.タグの例

このプラグインを利用して、最近のコメント10件をエントリーごとにまとめて表示するには、以下のようにタグを組み合わせます。

<ul>
<MTEntriesRecentlyCommented comment_lastn="10">
  <li><$MTEntryTitle$>(<$MTEntryDate$>)
      <ul>
        <MTRecentComments>
        <li><$MTCommentAuthor$>(<$MTCommentDate$>)</li>
        </MTRecentComments>
      </ul>
   </li>
</MTEntriesRecentlyCommented>
</ul>

また、最近のトラックバック10件をエントリーごとにまとめて表示するには、以下のようにタグを組み合わせます。

<ul>
<MTEntriesRecentlyPinged ping_lastn="10">
  <li><$MTEntryTitle$>(<$MTEntryDate$>)
      <ul>
      <MTRecentPings>
        <li><$MTPingBlogName$>(<$MTPingDate$>)</li>
      </MTRecentPings>
      </ul>
   </li>
</MTEntriesRecentlyPinged>
</ul>

4.追加されるテンプレートタグ

このプラグインをインストールすると、以下のテンプレートタグが追加されます。

・MTEntriesRecentlyCommented/MTEntriesRecentlyPinged
最近にコメント(MTEntriesRecentlyCommented)/トラックバック(MTEntriesRecentlyPinged)があったエントリーを出力するコンテナタグです。
以下のアトリビュートを指定することができます。

アトリビュート内容
lastn="x"最大でx個のエントリーを出力します。
comment_lastn="x"
(MTEntryRecentlyCommentedタグの場合)
ping_lastn="x"
(MTEntryRecentlyPingedタグの場合)
最近のコメント/トラックバックを最大でx個まで検索します。
lastn="x"と同時に指定した場合は、lastnとcomment_lastn(またはping_lastn)のどちらかの条件を満たした時点で出力が終わります。
per_entry="x"エントリー1つにつき、最大でx件のコメント/トラックバックを出力します。
sort_order="descend|ascend"見つかったエントリーを、最近コメント/トラックバックがあったものから順に表示するか(descend)、その逆にするか(ascend)を指定します。
指定しない場合は、sort_order="descend"を指定したのと同じになります。
mode="force"標準では、カテゴリー・アーカイブ・ページと日付アーカイブ・ページでは、そのアーカイブ内のコメント/トラックバックのみを出力の対象にします。
これらのテンプレートでも全てのコメント/トラックバックを対象にしたい場合は、このアトリビュートを指定します。
mode="entry_date"日付アーカイブ・ページでは、標準では、アーカイブの期間にあったコメント/トラックバックをエントリーごとにまとめて出力します。
これを変えて、アーカイブの期間のエントリーについたコメント/トラックバックを出力するようにしたい場合は、このアトリビュートを指定します。
search_limit="x"最近のコメント/トラックバックのうち、x件までを検索の対象にします。
カテゴリー・アーカイブ・テンプレートの中でこのタグを使う場合と、日付アーカイブ・テンプレートで「mode="entry_date"」のアトリビュートを指定する場合、search_limitアトリビュートで、検索対象の件数を制限しておく方が良いです(そうしないと、コメント/トラックバックが増えるほど再構築に時間がかかるようになります)。

・MTRecentComments/MTRecentPings
個々のエントリーについた最近のコメント(MTRecentComments)/トラックバック(MTRecentPings)を出力するコンテナタグです。
MTEntriesRecentlyCommented/MTEntriesRecentlyPingedタグのコンテナの中で使います。

標準では、最近のコメント/トラックバックを、新しいものから順に出力します。
古いものから順に出力したい場合は、「sort_order="ascend"」のアトリビュートを付加します。

・MTRecentCommentCount/MTRecentPingCount
最近のコメント(MTRecentCommentCount)/トラックバック(MTRecentPingCount)の数を出力する変数タグです。
MTEntriesRecentlyCommented/MTEntriesRecentlyPingedタグのコンテナの中で使い、それらのタグに指定したアトリビュートに沿って、件数が数えられます。