分享各种网络资源
是我乃至整个互联网的精髓所在
最新消息:站点开启被动注册模式,详情点击这里了解
 您目前所在位置: 站点首页 » WordPress » 代码 » WordPress获取某个时间段内发布的文章
+

WordPress获取某个时间段内发布的文章

  • 第一种代码
  • 第二种代码
  • 两种之间的差别
  • WordPress获取某个时间段内发布的文章-BanYuner

    这个功能方面来说,还是有点鸡肋的,但是有时候可能还真的是需要用到这个方法来展示一些文章,制作一些单独页面也是可以的。

    今天在逛贴吧的时候,看到一个吧友问,如何显示一段时间的内浏览数最多的,那么我就直接百度,结果吧友需要的没有百度到,倒是百度到了这个比较实用的文章。代码方面来自胖子马博客,感谢其提供的相关代码,那么我这里就直接敷上相关代码了:

    第一种代码

    <?php   
      //不要忘记更改下面的日期 ;-D   
      function filter_where($where = '') {   
            $where .= " AND post_date >= '2012-08-05' AND post_date <= '2012-09-07'";   
        return $where;   
      }   
    add_filter('posts_where', 'filter_where');   
    query_posts($query_string);   
    while (have_posts()) :   
          the_post();   
          the_content();   
    endwhile;   
      
    ?>
    

    这段代码来说的话,需要手动去修改时间,通过这里肯定会需要查询数据库,而且查询数量可能会有点多,大家可以衡量一下之后再决定是否适用。至于代码放在哪里,这个就看个人了,你可以创建一个页面之后放在页面内,同样可以放在你的主循环后面或者里面都是可以的,自由发挥吧。

    第二种代码

    这里继续提供第二种代码给大家:

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

    上面这段代码直接放入functions.php中即可,同时通过以下代码进行调用:

    <h3>近期最热文章</h3>
    <ul>
       <?php if(function_exists('most_comm_posts')) most_comm_posts(30, 10); ?>
    </ul>
    

    两种之间的差别

    这一部分代码和第一部分代码不一样的位置在于:

    • 1.第一部分代码可以设定时间段,而第二部分是以当日为主
    • 2.第一部分是利用主循环展示出来,代码量少,而第二种考虑比较全面,如果没有文章的情况是怎么样的
    • 3.第一部分是直接将整个代码写入,而第二部分可以通过调用来实现。

    其实说白了,这个第二部分代码可能就是边栏小工具的代码,大家可以尝试一下,利用这个代码做一个小工具试试。

    关注我们 打赏 分享此文

    微信扫码,关注我们

    扫码,支持我

    WordPress获取某个时间段内发布的文章

    支付宝(点击图片切换)

    扫码,支持我

    WordPress获取某个时间段内发布的文章

    微信(点击图片切换)

    扫码,手机看

    WordPress获取某个时间段内发布的文章
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃ 分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    相关推荐

    • Giphypress-WordPress文章内容中添加GIF图片

      Giphypress-WordPress文章内容中添加GIF图片

      看了标题之后,千万不要关闭这个页面,因为这个页面里面的内容可能跟你了解的不一样。 我们都知道 WordPress 可以通过添加媒体来上传 G...

      点击查看
    • 如何自定义WordPress登陆页面背景

      如何自定义WordPress登陆页面背景

      这个功能是一个小功能,但是就我了解到的,目前还是有很大一部分主题都是使用的了这个功能的,所以这里还是简单的介绍一下实现方法。 首先我们看到登...

      点击查看
    • 如何正确管理自动WordPress更新

      如何正确管理自动WordPress更新

      WordPress 自动更新以及插件还有主题的自动更新,可能对于很多人来说都是一个烦恼,为什么这样说呢,因为一旦插件更新或者 WordPre...

      点击查看
    WordPress获取某个时间段内发布的文章
    4 + 6 =
    • 昵称 (必填)  
    • 邮箱 (必填)
    • 网址 (选填)