2016年3月アーカイブ

人気記事を表示するのに GoogleAnalyticsを使ってページビューの順に表示させるという方法(PowerCMSなど)がありますがコメント機能が使われていてコメントが活発にやりとりされているサイトの場合、最近 n日のコメント数を基準にするという方法もありますね。話題になっている記事を抽出するのになかなか適した方法かと思います。

https://github.com/junnama/mt-plugin-lively-discussion-entries

<mt:LivelyDiscussionEntries days="7">
# mt:Entriesと同じタグが利用できる
</mt:LivelyDiscussionEntries>

このような処理の時は MT::Object の count_group_byメソッドを使います。

my $group_iter = MT->model( 'comment' )->count_group_by( {
                                            blog_id => $blog_id,
                                            visible => 1,
                                            created_on => { '>' => $ts } } , {
                                            (),
                                            group => [ 'entry_id' ],} );
my $ids = {};
while ( my ( $count, $entry_id ) = $group_iter->() ) {
    $ids->{ $entry_id } = $count;
}
my $i = 0;
my @entries;
for my $entry_id (sort { $ids->{ $b } <=> $ids->{ $a } } keys %$ids) {
    my $entry = MT->model( 'entry' )->load( $entry_id );
    if ( $entry && $entry->status == MT::Entry::RELEASE() ) {
        push ( @entries, $entry );
        $i++;
        if ( $i >= $lastn ) {
            last;
        }
    }
}

Facebook

Twitter

このアーカイブについて

このページには、2016年3月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2016年2月です。

次のアーカイブは2016年8月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.2.6