Movable Type プラグインディレクトリ

MostActiveEntries

コメントやトラックバックの多いエントリーを抽出します。

制作者: Jeremy Smith / フリー
ダウンロードサイト: Alpha-Geek.com::MostActiveEntries
http://alpha-geek.com/mostactiveentries/

インストール方法

  1. エントリーの中にダウンロードのリンクがあります。そこをクリックするとソースコードが表示されます。
  2. 表示されたソースコードを「mostActiveEntries.pl」というファイル名で保存します。
  3. 保存した「mostActiveEntries.pl」ファイルを、Movable Typeの「plugins」ディレクトリにアップロードします。
  4. 作業後、Movable Typeのシステム・メニューのプラグイン管理画面を表示し、プラグインの一覧に「mostActiveEntries.pl」が表示されていることを確認してください。これで設置完了です。

使い方

MostActiveEntriesプラグインをインストールすると、MTMostActiveEntriesタグが使用できるようになります。このタグは、MTEntriesと同じように使用することができます。例えば、

<ul>
<MTEntries>
    <li><a href="<$MTEntryPermalink$>" title="<$MTEntryTitle$>"><$MTEntryTitle$></a>
</MTEntries>
</ul>

というテンプレートがあったとします。これは、エントリーを新しいもの順でリスト表示します。このテンプレートを以下のように変更します。

<ul>
<MTMostActiveEntries>
    <li><a href="<$MTEntryPermalink$>" title="<$MTEntryTitle$>"><$MTEntryTitle$></a>
</MTMostActiveEntries>
</ul>

こうするとコメントやトラックバックの多いエントリー順にリスト表示が行われます。標準では、最近7日間に投稿されたエントリーのうちの7件を表示します。

カスタマイズ情報

MTMostActiveEntriesタグでは、表示する件数、抽出する日数を変更できます。例えば、

<ul>
<MTMostActiveEntries lastn="5" days="10">
    <li><a href="<$MTEntryPermalink$>" title="<$MTEntryTitle$>"><$MTEntryTitle$></a>
</MTMostActiveEntries>
</ul>

とすると、最近の10日間でコメントやトラックバックの多かったエントリーを5件抽出します。これらの属性は単独でも使用できます。

<ul>
<MTMostActiveEntries lastn="5">
    <li><a href="<$MTEntryPermalink$>" title="<$MTEntryTitle$>"><$MTEntryTitle$></a>
</MTMostActiveEntries>
</ul>

とすると、最近の7日間(このプラグインの標準値です)でコメントやトラックバックの多かったエントリーを5件抽出します。

その他付加情報

このプラグインをインストールしたMovable Typeシステム上で複数のブログを運営している場合、このプラグインはすべてのブログを対象に抽出を行ってしまいます。これは、便利ではあるのですが、ひとつのブログだけに絞って抽出を行いたい場合には困ってしまいます。もし、対象ブログだけに絞って抽出を行いたい場合は、ソースコードを以下のように修正する必要があります。

  • 変更前
  • my @entries;
            if($days)
            {
                    @entries = MT::Entry->load ({ status => MT::Entry::RELEASE() },
                      { 'sort' => 'created_on', direction => 'ascend',
                            'start_val' => "$year-$mon-$mday" });
            }
            else
            {
                    @entries = MT::Entry->load ({ status => MT::Entry::RELEASE() },
                      { 'sort' => 'created_on', direction => 'ascend'});
            }
  • 変更後
  • my $blog_id = $ctx->stash('blog_id');
    
            my @entries;
            if($days)
            {
                    @entries = MT::Entry->load ({ blog_id => $blog_id, status => MT::Entry::RELEASE() },
                      { 'sort' => 'created_on', direction => 'ascend',
                            'start_val' => "$year-$mon-$mday" });
            }
            else
            {
                    @entries = MT::Entry->load ({ blog_id => $blog_id, status => MT::Entry::RELEASE() },
                      { 'sort' => 'created_on', direction => 'ascend'});
            }

利用規約

特になし


トラックバック

トラックバック URL

このページのトップへ