Typecho 常用实现方法之获取最近更新时间

小助手读文章 00:00 / 00:00

上回讲到 Typecho 如何统计在线人数,你 get 到了吗?今天我们再来说说如何获取博客最近更新时间。

分析

最近更新时间,也可以称为最后更新时间、上次更新等等,其目的在于说明博客处于更新的状态,而不是无人打理。Typecho 本身并无提供相关参数供直接使用,因此我们需要换个思维角度来想想如何实现。更新,顾名思义,就是对博客进行了文章发表、修改等等,因此我们就会想到,是否可以把文章的发表时间、修改时间当作是最后一次更新的时间呢?这是肯定的,而且 Typecho 官方本身就会在文章异动时记录时间,所以我们只要在数据库中捞出最近的异动时间就可以了,是不是很简单,赶快来试试吧!

实现

直接上代码:

由于主机参数区别,不能直接复制粘贴使用,大家更应该学习的是思路方法。

function get_last_update(){
    $num   = '1'; //取最近的一笔就好了
    $now = time();
    $db     = Typecho_Db::get();
    $prefix = $db->getPrefix();
    $create = $db->fetchRow($db->select('created')->from('table.contents')->limit($num)->order('created',Typecho_Db::SORT_DESC));
    $update = $db->fetchRow($db->select('modified')->from('table.contents')->limit($num)->order('modified',Typecho_Db::SORT_DESC));
    if($create>=$update){  //发表时间和更新时间取最近的
      echo Typecho_I18n::dateWord($create['created'], $now); //转换为更通俗易懂的格式
    }else{
      echo Typecho_I18n::dateWord($update['modified'], $now);
    }
}

效果

在想要显示最后更新时间的位置加入以下代码即可:

<?php get_last_update(); ?>

最终显示为类似如下的字段:

最后更新:4 秒前

ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 php教程typecho方法统计最后更新最近更新 的文章

 本文最后更新于 2019/04/21 11:40:32,可能因经年累月而与现状有所差异

 引用转载请注明: VirCloud's Blog > Typecho > Typecho 常用实现方法之获取最近更新时间

精选评论

  1. 枫叶
    枫叶 回复

    Windows 10Chrome 72.0.3626.121来自 福建 的大神

    看到这个标题后直接先进来谢谢,谢谢完了再去看正文。哈哈~ icon_twisted.gif

    1. 欧文斯

      评论没问题,需要审核罢了。
      要看方法,直接复制估计不能用呢 icon_mrgreen.gif

      1. 枫叶
        枫叶 回复

        Windows 10Chrome 72.0.3626.121来自 福建 的大神

        毛的不能用,6.66都大赏过去了。我复制不了。直接审查元素给你的代码复制过来了。可以用。哈哈。

  2. 枫叶
    枫叶 回复

    Windows 10Chrome 72.0.3626.121来自 福建 的大神

    其实这个实现方法我也是知道怎么去解决,就是代码写不出来。typecho后台有相应的最后编辑时间,也有那个最后登录时间,但是我就是写不出怎么获取的代码。悲剧。

    1. 欧文斯

      哈哈哈,那你参考我的代码试试

  3. ASC_8384
    ASC_8384 回复

    Windows 10Firefox 68.0来自 浙江 的大神

    谢谢博主的分享

  4. tnjc
    tnjc 回复

    Windows 10Chrome 70.0.3538.110来自 广东 的大神

    大佬,后台几分钟没写东西就会自动退出,这个怎么样增加时间?

    1. 欧文斯

      Typecho 有这功能??是不是启用了什么插件?