将日期显示为多久前可以让读者很方便的知道该信息的重要性,一条2年前发布的信息和2天前发布的信息价值是不一样的。发布时间显示为多久前比直接显示发布时间要直观得多,可以提高用户体验,具体的效果可以看看代码狗博客的评论日期显示。这个功能代码非常完善,是国内的热门主题大前端dux中使用的方法,直接复制就能用。
函数源码
复制
function _get_time_ago($ptime) { $ptime = strtotime($ptime); $etime = time() - $ptime; if ($etime < 1) { return '刚刚'; } $interval = array( 12 * 30 * 24 * 60 * 60 => '年前 (' . date('Y-m-d', $ptime) . ')', 30 * 24 * 60 * 60 => '个月前 (' . date('m-d', $ptime) . ')', 7 * 24 * 60 * 60 => '周前 (' . date('m-d', $ptime) . ')', 24 * 60 * 60 => '天前', 60 * 60 => '小时前', 60 => '分钟前', 1 => '秒前', ); foreach ($interval as $secs => $str) { $d = $etime / $secs; if ($d >= 1) { $r = round($d); return $r . $str; } }; }
将上面的函数代码复制到你的主题目录下functions.php文件中即可正常使用,函数中需要传入一个时间字符串,这个字符串格式只要是标准的日期格式即可,这个函数会自定将其转换为时间戳,然后计算与当前时间的差异。
使用方法
在评论列表中使用:
复制
echo _get_time_ago($comment->comment_date);
注意,$comment->comment_date方法输出评论时间必须在输出评论列表循环中使用,否则报错,你可以参考这篇文章:WordPress获取评论数据函数wp_list_comments详解。
评论 (0)