对于一周更新数篇文章的站长来说,更友好的显示时间很有必要。通常我们会在微博上看到发布于1分钟前、1个小时前等字样,这样的显示对用户来说很贴心,传递给用户的感觉是这个站点一直活跃着,所以Wordpress站点也应该有这样的实用技巧。
首先在主题的 functions.php 文件中加入以下代码:
function timeago( $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; } }; }
列表页和文章页面使用方法:
适用于 index.php/search.php/tag.php/single.php/page.php/author.php/category.php
在需要显示时间的地方替换成以下,注意需要放在?php代码块中:
echo '发表于 '.timeago( get_gmt_from_date(get_the_time('Y-m-d G:i:s')) );
评论区域使用方法:
在需要显示时间的地方替换成以下,注意需要放在评论循环内:
echo '发表于 '.timeago( $comment->comment_date_gmt );
其他
当然,你还可以更改函数中的文字以达到你自己的需求。
此函数传值格式为“2013-11-11 11:11:11”,只要格式符合就行,但是wp有gmt时间制,所以才有了以上使用方式。
本文属原创,转载请注明原文:https://themebetter.com/wordpress-time-show.html
评论 (0)