今天在看阿里百秀的网站时,发现有一个比较贴心的功能,如下图,文章发布的日期可以随着文章新鲜度的不同而变化,比如今天发表的文章,发布时间具体到某一分钟,而昨天发布的文章,直接显示昨天,再往前,就直接显示日期了。
个人觉得这种方式的用户体验非常好,于是简单的研究了一下实现方法。实现起来其实还是比较简单的,首先获取文章发布的时间,然后获取当前的时间,比较这两个时间,然后判断文章发布时间的显示方法,代码如下。
直接把以上代码复制到你需要显示的地方就可以了,当然,我们也可以把以上功能写成一个函数,这样调用起来就不用重复这么多代码了,模板看起来也会比较简洁一点。
根据文章新鲜度调整时间显示方式的函数
有小伙伴提问,怎么把上面的功能写成函数的方式,好吧,为了方便大家,直接写成函数贴出来了。
function wizhi_human_time(){ $post_time = get_the_time('U'); $now = current_time('timestamp'); $diff = (int) abs( $post_time - $now ); $days = round( $diff / DAY_IN_SECONDS ); if($days < 1){ echo ''; }elseif($days == 2){ echo ''; }else{ echo ''; } }
把上面的函数粘贴到主题的functions.php中,然后在需要的地方这样调用: