WordPress主题开发的时候希望侧边栏的一个文章列表按评论数量排序,可以自己设置时间段,防止老是那几篇文章.
打开当前WordPress主题的functions.php文件.
在<?php下面的?>前面添加如下代码:
function most_comm_posts($days=7, $nums=10) { //$days参数限制时间值,单位为‘天’,默认是7天;$nums是要显示文章数量 global $wpdb; $today = date("Y-m-d H:i:s"); //获取今天日期时间 $daysago = date( "Y-m-d H:i:s", strtotime($today) - ($days * 24 * 60 * 60) ); //Today - $days $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"); $output = ''; if(empty($result)) { $output = '<li>None data.</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>'; } } } echo $output;}
然后在前台需要输出文章列表的位置添加如下代码,一般是WordPress主题的侧边栏:
<h3>近期热门文章</h3> <ul> <?php if(function_exists('most_comm_posts')) most_comm_posts(30, 10); ?> </ul>
侧边栏调用代码解释: (30, 10)的两个参数:
函数参数 1 是按天计算的,30 就是 30 天,即一个月;
参数 2 是文章显示数量,10 就是显示 10 篇,自己根据所需设置。
接下来可以在WordPress主题开发时设置style.css给侧边栏调用文章列表按某段时间评论数量排序一个漂亮的样式