×

文章和评论日期显示几分钟之前几小时之前

优畅主题 Wordpress技术 2014-01-02 10:23 3,884 0 条评论

对于一周更新数篇文章的站长来说,更友好的显示时间很有必要。通常我们会在微博上看到发布于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时间制,所以才有了以上使用方式。


如果本文对你有帮助,你可以扫描右边的二维码打赏,谢谢支持
联系优畅:uctheme#qq.com (#改为@)
微信订阅号:优畅主题(uctheme)
官网淘宝店:http://uctheme.taobao.com
版权声明:版权归 优畅主题 所有,转载请注明出处!
转载请保留链接: https://www.uctheme.com/technical/593.html
谢谢支付宝打赏
谢谢微信打赏

品牌创立:2012-11-18优畅主题

优畅主题成立于2012年11月18日,专业Wordpress导购主题开发商,拥有多年Wordpress主题设计经验,专门为淘宝客和导购客站长量身打造高端赚钱模板,我们注重细节,有着严谨的开发态度,一切从客户角度出发,如果你也喜欢 WordPress导购主题,欢迎和我们一起交流!


你必须 登录 后才能发表评论。

目前还没有评。

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册