WordPress边栏小工具调取某段时间内最热文章

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

所谓最热文章就是指某段时间内评论最多的文章,关注最多的文章。

一. 把下面的函数代码扔到主题的 functions.php

  1. /* 某段时间内最热文章
  2.  * Reference: http://www.wprecipes.com/rarst-asked-how-to-get-most-commented-posts-of-the-week
  3.  */
  4. function most_comm_posts($days=7, $nums=10) { //$days参数限制时间值,单位为‘天’,默认是7天;$nums是要显示文章数量
  5. 	global $wpdb;
  6. 	$today = date("Y-m-d H:i:s"); //获取今天日期时间
  7. 	$daysago = date( "Y-m-d H:i:s", strtotime($today) - ($days * 24 * 60 * 60) );  //Today - $days
  8. 	$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");
  9. 	$output = '';
  10. 	if(empty($result)) {
  11. 		$output = '<li>None data.</li>';
  12. 	} else {
  13. 		foreach ($result as $topten) {
  14. 			$postid = $topten->ID;
  15. 			$title = $topten->post_title;
  16. 			$commentcount = $topten->comment_count;
  17. 			if ($commentcount != 0) {
  18. 				$output .= '<li><a href="'.get_permalink($postid).'" title="'.$title.'">'.$title.'</a> ('.$commentcount.')</li>';
  19. 			}
  20. 		}
  21. 	}
  22. 	echo $output;
  23. }

二.调用方法

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

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

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


发布日期:

所属分类: Wordpress, Wordpress 综合 标签: