Typecho常用实现方法之获取最近更新时间
Typecho常用实现方法之获取最近更新时间
作者:欧文斯
分析
最近更新时间,也可以称为最后更新时间、上次更新等等,其目的在于说明博客处于更新的状态,而不是无人打理。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 秒前