首页 小组 问答 话题 好文 素材 用户 唠叨 我的社区

[分享]typecho判断某一个栏目最新文章的时间是否和当前时间超过五天

道亮_(:з」∠)_Lv.1管理员
2024-08-25 13:57:53
0
50

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

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

$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'] 来获取该文章的发布时间。

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

$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 {
        //文章发布时间未超过五天
    }
}
道亮_(:з」∠)_
道亮_(:з」∠)_

58 天前

签名 : 不交僧道,便是好人。   50       0
评论
站长交流