Typecho判断某一个栏目最新文章的时间是否和当前时间超过五天

您可以通过以下方式来实现这个功能:

获取特定栏目的最新文章:

$posts = $this->widget("Widget_Posts_List@{$type}_recent", 'pageSize=1&categoryId={栏目ID}');
if($posts->have()){
    $post = $posts->next(); //获取第一篇文章
    $post_time = $post['created']; //获取该文章发布时间
}

这里使用了 Typecho 自带的 $this->widget() 方法来获取指定栏目下的最新文章,在获取到文章列表后,通过 $posts->next() 方法来逐个获取文章,获取到第一篇文章后,可以通过 $post['created'] 来获取该文章的发布时间。

判断文章时间和当前时间是否超过五天:

$time_diff = time() - $post_time; //获取文章发布时间距离当前时间的差值
$is_over_five_days = $time_diff > 5 * 24 * 60 * 60; //判断差值是否超过五天,如果超过则返回 true

这里我们通过获取到的文章发布时间和当前时间求出时间差,然后将时间差转换为秒,再和五天的秒数进行比较,来判断该文章发布时间是否超过五天。

最终的完整代码如下:

$posts = $this->widget("Widget_Posts_List@{$type}_recent", 'pageSize=1&categoryId={栏目ID}');
if($posts->have()){
    $post = $posts->next();
    $post_time = $post['created'];
    $time_diff = time() - $post_time;
    $is_over_five_days = $time_diff > 5 * 24 * 60 * 60;
    if($is_over_five_days){
        //文章发布时间超过五天
    } else {
        //文章发布时间未超过五天
    }
}
评论区
头像