WP-PostViews Plus 热门文章支持评论数

我使用 WP-PostViews Plus 统计文章的浏览次数。今天在边栏使用了它的 “热门文章” widget ,发现只能根据浏览数来排序,而我希望还能加上评论的因素,于是就动手修改了下。

我用的版本是 1.2.12 ,所有的修改都在 postviews_plus.php 中。

首先在 widget 中取文章时,需要把 comment_count 从数据库里面读出来。

找到函数 get_timespan_most_viewed_term,找到以下代码,添加红色的部分。

$most_viewed = $wpdb->get_results(‘SELECT DISTINCT p.ID, p.post_title, p.post_excerpt, p.post_content, post_password, p.post_date, p.comment_count, ‘ . $views . ‘ AS views FROM ‘ . $wpdb->posts . ‘ AS p ‘ . $left_join . $inner_join . ‘ WHERE p.post_date<”‘ . current_time(‘mysql’) . ‘” AND ‘ . $where . ‘ AND p.post_status=”publish” AND p.post_password=”" ORDER BY views+p.comment_count*100 DESC LIMIT ‘ . $limit);

我给每条评论的权重设了 100,也就是说,一条评论相当于 100 次阅读。你可以根据自己的喜好来设置。这样做完后,“热门文章”的排序就会考虑上评论的因素了。但是也许你还希望每个条目能显示评论数,就像我现在这样。

WP-PostViews Plus 热门文章支持评论数

WP-PostViews Plus 本身没有提供对评论数的显示,我们可以加上。

同样在 postviews_plus.php 文件,找到函数 my_str_replace,在函数的第一行添加代码

$post_comment_count = intval($post->comment_count);

在一串 $temp = xxx 的地方,添加一条

$temp = str_replace(“%COMMENT_COUNT%”, number_format_i18n($post_comment_count), $temp);

然后,你就可以在插件的后台设置中,使用 %COMMENT_COUNT% 获取评论数量了。

WP-PostViews Plus 获取评论数



发表评论?

2 条评论。

  1. @joewan: 它不满足我,只能自己改它了,否则哪有兴趣搞它代码

    回复回复
  2. 赞,翔哥真有钻研精神。

    回复回复

发表评论