Hiển thị thời gian đăng bài viết trong WordPress

Hiển thị thời gian đăng của bài viết trong WordPress sẽ giúp độc giả/người xem bài viết trên Blog/website WordPress của bạn dễ dàng nhận biết bài viết đó được viết bao giờ để họ tìm đọc những ý mới, nội dung mới. Trong bài viết này HIHIWEB sẽ hướng dẫn bạn thực hiện trên mọi giao diện bạn đang sử dụng.

Hiển thị thời gian bài viết theo ngày tháng năm

Trong WordPress, các bạn sử dụng hàm the_time() để xuất thời gian đăng bài viết, ví dụ.

 the_time('d/m/Y'); 

Đoạn này sẽ cho ra kết quả như sau.

08/05/2017

Các định dạng ngày tháng các bạn có thể tham khảo tại đây.

Hiển thị thời gian tính từ thời điểm hiện tại

/**
* Determines the difference between two timestamps
*/
function vi_human_time_diff($from, $to = '') {
if (empty($to))
$to = time();
$diff = (int) abs($to - $from);
// if ($diff > 259200)
//     return false;
if ($diff < HOUR_IN_SECONDS) {
        $mins = round($diff / MINUTE_IN_SECONDS);
        if ($mins <= 1)
            $mins = 1;
        /* translators: min=minute */
        $since = sprintf(_n('%s phút', '%s phút', $mins), $mins);
    } elseif ($diff < DAY_IN_SECONDS && $diff >= HOUR_IN_SECONDS) {
$hours = round($diff / HOUR_IN_SECONDS);
if ($hours <= 1)
            $hours = 1;
        $since = sprintf(_n('%s giờ', '%s giờ', $hours), $hours);
    } elseif ($diff < WEEK_IN_SECONDS && $diff >= DAY_IN_SECONDS) {
$days = round($diff / DAY_IN_SECONDS);
if ($days <= 1)
            $days = 1;
        $since = sprintf(_n('%s ngày', '%s ngày', $days), $days);
    } elseif ($diff < 30 * DAY_IN_SECONDS && $diff >= WEEK_IN_SECONDS) {
$weeks = round($diff / WEEK_IN_SECONDS);
if ($weeks <= 1)
            $weeks = 1;
        $since = sprintf(_n('%s tuần', '%s tuần', $weeks), $weeks);
    } elseif ($diff < YEAR_IN_SECONDS && $diff >= 30 * DAY_IN_SECONDS) {
$months = round($diff / (30 * DAY_IN_SECONDS));
if ($months <= 1) $months = 1; $since = sprintf(_n('%s tháng', '%s tháng', $months), $months); } elseif ($diff >= YEAR_IN_SECONDS) {
$years = round($diff / YEAR_IN_SECONDS);
if ($years <= 1)
            $years = 1;
        $since = sprintf(_n('%s năm', '%s năm', $years), $years);
    }
    return $since;
}

Lưu ý: Câu lệnh if sau:

if ($diff > 259200)
return false;

Số 259200 nghĩa là số giây của 3 ngày, tức là hàm này chỉ tính thời gian trong 3 ngày gần nhất, bạn có thể bỏ câu lệnh này nếu không muốn giới hạn hoặc thay đổi thông số tùy ý.

Hiển thị thời gian đăng bài viết ra ngoài giao diện

Để hiển thị gian trong WordPress, bạn dùng dưới đây.

$timeago = vi_human_time_diff(get_the_time('U'), current_time('timestamp'));
if ($timeago == false) {
the_time('d/m/Y');
} else {
echo $timeago . ' trước';
}

Leave a Reply

Your email address will not be published. Required fields are marked *

arrow