Wordpress技巧:文章和評論日期顯示幾分鐘之前幾小時之前

對於一週更新數篇文章的站長來說,更友好的顯示時間很有必要。通常我們會在微博上看到發佈於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時間制,所以纔有了以上使用方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章