对于博客中评论较多的文章,可以使用如下的函数,查询指定时间范围内的文章,并按照评论数的多少进行查找筛选,输出指定数目的文,即显示热评文章。
//显示热评文章
function hot_comment_viewed($number, $days){
global $wpdb;
$sql = "SELECT ID , post_title , comment_count
FROM $wpdb->posts
WHERE post_type = 'post' AND post_status = 'publish' AND TO_DAYS(now()) - TO_DAYS(post_date) < $days
ORDER BY comment_count DESC LIMIT 0 , $number ";
$posts = $wpdb->get_results($sql);
$i = 1;
$output = "";
foreach ($posts as $post){
$output .= "\n<li><span class='li-icon li-icon-$i'>$i</span><a href= \"".get_permalink($post->ID)."\" rel=\"bookmark\" title=\"".$post->post_title." (".$post->comment_count."条评论)\" >".$post->post_title."</a></li>";
$i++;
}
echo $output;
}
在调用时就可以使用如下代码实现功能了,输出最近 100 天内评论数排序前 8 的文章:
<div id="hot_comment_widget">
<ul>
<?php hot_comment_viewed(8, 600); ?>
<?php wp_reset_query(); ?>
</ul>
</div>
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!