WordPress如何获取某时间段内最热文章呢?

  现在网站都会在边栏处显示最热文章,从而方便读者进行阅读,这个时候我们就可以使用插件来实现,但是过多使用插件会影响到我

  现在网站都会在边栏处显示最热文章,从而方便读者进行阅读,这个时候我们就可以使用插件来实现,但是过多使用插件会影响到我们网站的速度,这时候就会使用自定义函数实现,这样也可以修改自己样式,那么WordPress如何获取某时间段内最热文章呢?

  我们是通过在后台小工具中给边栏添加文本小工具实现的,所以首先让你的文本小工具支持PHP代码运行,你可以看看这篇文章是如何实现的: 让你的WordPress文本小工具运行PHP

WordPress主题下载,WordPress免费主题下载,网站源码模板下载

  我们可以在后台小工具在边栏添加一个文本小工具,首先让文本小工具能支持PHP代码运行,今天一起了解一下,最热文章指的就是指某段时间内评论更多、关注更多的文章。

  1. 把下面的函数代码写到主题的 functions.php中。

/* 某段时间内最热文章
 * Reference: http://www.wprecipes.com/rarst-asked-how-to-get-most-commented-posts-of-the-week
 */
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;
}

  2.调用方法

<ul>
   <?php if(function_exists('most_comm_posts')) most_comm_posts(30, 2); ?>
</ul>

  在后台小工具中给你的边栏添加文本小工具命名为最热文章,把下面的代码复制进去,就OK了。

  PS:函数参数1是按天计算的,30就是30天;参数2是文章显示数量,10就是显示10篇,自己根据所需设置。


下载说明:
1. 本站所有资源来源于网络和用户上传,如有侵权请联系站长
2. 本站分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,商用请支持正版!不得违反国家法律,否则后果自负!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

本站的资源均来自于互联网,仅为资源共享、学习参考之目的,其版权均归原作者及其网站所有,如有侵权请留言联系:admin,转转请注明出处:http://zhanmr.com/6553.htm

发表评论

电子邮件地址不会被公开。 必填项已用*标注