实现wordpress限定时间段的文章数量

调用wordpress某段时间内的文章数量似乎没什么作用,不过可能某些网站会有特殊需求而调用某段时间内的文章数量,比如有时效性的特价促销活动导购网站,可以通过显示文章数量告诉游客“今天有XXX个促销活动”、“三天内有XX个特价产品”等,也算有点提高用户体验的味道。

wordpress显示某段时间内文章数的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
function num_posts($days=1) {//$days就是设定时间一天;
	global $wpdb;
	$today = gmdate('Y-m-d H:i:s', time() + 3600 * 8);//获取当前的时间
	$daysago = date( "Y-m-d H:i:s", strtotime($today) - ($days * 24 * 60 * 60) );  //Today - $days
	$result = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_date BETWEEN '$daysago' AND '$today' AND post_status='publish' AND post_type='post' ORDER BY post_date DESC ");         
	    foreach ($result as $Item) {
	        $post_ID[] = $Item->ID;//已发布的文章ID,写到一个数组里面去
	    }
	$post_num = count($post_ID);//输出数组中元素个数,文章ID的数量,也就是发表的文章数量
	$output .= '<a>'.$post_num.'</a>';//输出文章数量
	echo $output;
}

通过调用代码显示:

1
<?php echo num_posts();?>

发表留言