搜索热词

WordPress中文社区 > 问答 > WordPress如何让时间显示为多久以前这样的格式?

WordPress如何让时间显示为多久以前这样的格式?

已解决

有时看到别人的博客上文章的发布日期是多久以前这样的格式?不知道WordPress的时间可以显示成这样的格式吗?

发布于08月18日 被浏览 82 次
点赞 收藏 打赏 分享

    2 个回答

  1. WordPress日记

    WordPress 本身调用时间的函数 the_time() 只能直接调用时间,通过他的 filter,我们可以让他显示为比较科学的几天前格式。

    将下边的代码丢到 function.php 的最后一个 ?> 前即可。

    function Bing_filter_time(){
    	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(_n('%s 分钟', '%s 分钟', $mins), $mins) . __( '前' , 'Bing' );
    	}
    	else if (($diff <= 86400) && ($diff > 3600)) {
    		$hours = round($diff / 3600);
    		if ($hours <= 1) {
    			$hours = 1;
    		}
    		$time = sprintf(_n('%s 小时', '%s 小时', $hours), $hours) . __( '前' , 'Bing' );
    	}
    	elseif ($diff >= 86400) {
    		$days = round($diff / 86400);
    		if ($days <= 1) {
    			$days = 1;
    			$time = sprintf(_n('%s 天', '%s 天', $days), $days) . __( '前' , 'Bing' );
    		}
    		elseif( $days > 29){
    			$time = get_the_time(get_option('date_format'));
    		}
    		else{
    			$time = sprintf(_n('%s 天', '%s 天', $days), $days) . __( '前' , 'Bing' );
    		}
    	}
    	return $time;
    }
    add_filter('the_time','Bing_filter_time');

    上边的代码可以让 30 天内发布的文章显示为几天前,而过了 30 天即显示为正常的标准格式日期。

  2. WordPress日记
    WordPress日记 1

    我来回答第一条吧,占了个沙发,哈哈