エントリーをコメント数やトラックバック数で並べ替えるプラグイン

2005年6月25日 改良版を公開しましたので、そちらをお使いください。

エントリーについたコメントやトラックバックの数は、エントリーの人気を表すバロメーターだと思います。
コメント数とトラックバック数の合計でランキングを作るプラグイン(MTMostActiveEntry)や、トラックバック数でランキングを作るプラグイン(MTTrackbackRanking)はありますが、コメント数でランキングを作るものは、私が知る限りではないようです。
そこで、コメント数やトラックバック数でエントリーを並べ替えて、ランキングするプラグインを作ってみました。

ダウンロードとインストール

こちらのページを表示し、表示されたリストをメモ帳等に貼り付け、「EntriesRanking.pl」というファイル名で保存して、Movable Typeの「plugins」ディレクトリにアップロードします。
このプラグインをインストールすると、「MTEntriesRanking」「MTEntryRank」「MTEntryCommentAndPingCount」というタグが追加されます。

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

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

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

MTEntriesRankingタグ

MTEntriesRankingタグの書き方は以下の通りです。

<MTEntriesRanking mode="w" limit="x" days="y" lastn="z">
<MTEntry系のタグ>
</MTEntriesRanking>

・「mode="w"」
ランキング方法を指定します。「mode="comment"」にすると、コメント数のみでランキングします。「mode="trackback"」にすると、トラックバック数のみでランキングします。また、「mode="both"」にすると、コメント数とトラックバック数の合計でランキングします。

・「limit="x"」
最近x件のエントリーだけをランキングの対象にする際に指定します。

・「days="y"」
最近y日のエントリーだけをランキングの対象にする際に指定します。ただし、「limit="x"」が指定されている場合は、そちらが優先されます。
limit/daysともに指定していない場合は、Blogのすべてのエントリーがランキングの対象になります。

・「lastn="z"」
ランク付けされたエントリーのうち、上位のz件のみを出力する際に指定します。
lastnを指定しない場合は、すべてのエントリーが出力されます。

MTEntryRankタグ

MTEntriesRankingタグのコンテナの間でのみ使えるタグで、現在のエントリーの順位を出力します。

MTEntryCommentAndPingCountタグ

エントリーについたコメント数とトラックバック数の合計を出力します。MTEntriesRankingタグのコンテナだけでなく、MTEntriesタグ等のコンテナの中でも使えるはずです。

使用例

最近30日間のエントリーをコメント数の順で並べ替え、上位10件を出力する場合だと、以下のような感じになります。

<ul>
<MTEntriesRanking mode="comment" days="30" lastn="10">
<li><$MTEntryRank$>位:<$MTEntryTitle$></li>
</MTEntriesRanking>
</ul>