填写您的邮件地址,订阅我们的精彩内容:

wordpress调用评论最多的文章

858

本站首页实现了wordpress调用评论最多的文章,主要方法是通过数据库调用,按评论数排列文章。但纯粹调用的话,如果文章评论很多,那么它将永远排在最前面,因此,本方法实现将最近一周内的文章按照评论数排列。好了,直接上代码:

$days=7;$nums=10;
global $wpdb;
$today=date(“Y-m-d H:i:s”);
$t=strtotime($today);$t=$t – $days*24*60*60;$t-=$days*24*60*60;$daysago = date(“Y-m-d H:i:s”,$t);
$result = $wpdb->get_results(“SELECT comment_count, ID, post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN ‘$daysago’ AND ‘$today’ ORDER BY comment_count DESC LIMIT 0 , $nums”);
if(empty($result)) {
$output = ‘<li>对不起,暂无数据.</li>’;
} else {
foreach ($result as $topten) {
$postid = $topten->ID;
$title = $topten->post_title;
$commentcount = $topten->comment_count;
if ($commentcount != 0) {
$output .= ‘<li><a href=”‘.get_permalink($postid).’” title=”‘.$title.’”>’.$title.’</a> (‘.$commentcount.’)</li>
’; }
}
if($output==”) echo “<li>对不起,暂无数据。</li>”;
}
echo $output;

上面这段代码放置在主题文章的post的while循环外面即可调用,如果放在里面,不是每篇文章都要输出么?^_^

当然,为了多次重复利用,可以把它写成函数的形式,放置主题文件的functions.php末尾,在主题中调用该函数。方法是将上面的代码全部放 置在function most_comm_posts($days=7, $nums=10) 中,然后在主题中使用<ul><?php if(function_exists(‘most_comm_posts’)) most_comm_posts(30, 15); ?></ul>调用。

当然,你可以自己按照自己的意愿修改样式。如果你懂php编程的话,还可以用这种方法获得更多的按评论排序的效果。

本站主题在wordpress3.03默认模板的基础上修改,功能在不断完善,近期将提供下载,希望本文对您有所帮助。

下面我简单说几句