WordPress让时间格式显示为几分钟几小时几天前

秦兽兽 11天前 38 0 0 【】
首页 经验总结 Wordpress建站 WordPress让时间格式显示为几分钟几小时几天前

一般调用时间都是直接使用time()函数,为了让时间格式以更为科学的方式显示,我们可以采用filter过滤器来添加几分钟前、几小时前或几天前这样的形式。让30天内发布的文章显示为几天前,一旦过了30天则显示为正常的标准格式日期。

添加到functions.php里面

add_filter('the_time','time_ago');
function time_ago(){
    global $post ;
    $to = time();
    $from = get_the_time('U') ;
    $diff = (int) abs($to - $from);
    if ($diff <= 3600) {
        $mins = round($diff / 60);
        if ($mins <= 1) {
            $mins = 1;
        }
        $time = sprintf('%s 分钟前', $mins);
    }
    elseif (($diff <= 86400) && ($diff > 3600)) {
        $hours = round($diff / 3600);
        if ($hours <= 1) {
            $hours = 1;
        }
        $time = sprintf('%s 小时前', $hours);
    }
    elseif ($diff >= 86400) {
        $days = round($diff / 86400);
        if ($days <= 1) {
            $days = 1;
            $time = sprintf('%s 天前', $days);
        }
        elseif( $days > 29){
            $time = get_the_time(get_option('date_format'));
        }
        else{
            $time = sprintf('%s 天前', $days);
        }
    }
    return $time;
}

这样一来我们只需要在显示时间的地方输出 time() 函数即可。

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有。若您需要使用非免费的软件或服务,请购买正版授权并合法使用。本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理。
相关推荐