WonderCSS

另一种修改 WordPress 时间显示为 “几天前”

之前记录过一种利用 human_time_diff() 函数改变时间显示的方式,今天再记录一种能够实现让 wordpress 时间显示为“几天前” “几分钟前”的显示方式。

这个方法也很简单,它改变了 自身的显示方式,它相比之前介绍的实现方式的优势是,它并不一味单调的显示 “几天前” ,在文章发布十天后便恢复了年月日类的原始显示方式。根据网站的设置方式可以选择性的使用这两种方式其中之一。

复制下面的代码到 functions.php 中:


// Changing the_time
add_filter('the_time', 'past_date');
function past_date(){
	$suffix='前';
	$endtime='2419200';
	$day = '天';
	$hour = '小时';
	$minute = '分钟';
	$second = '秒';
	if ($_SERVER['REQUEST_TIME'])
			$now_time = $_SERVER['REQUEST_TIME'];
	else
			$now_time = time();
	$m = 60;  // 一分钟
	$h = 3600;  //一小时有3600秒
	$d = 86400;  // 一天有86400秒
	$endtime = (int)$endtime;  // 结束时间
	$post_time = get_post_time('U', true);
	$past_time = $now_time - $post_time;  // 文章发表至今经过多少秒
	if($past_time < $m){ //小于1分钟
			$past_date = $past_time . $second;
	}else if ($past_time < $h){ //小于1小时
			$past_date = $past_time / $m;
			$past_date = floor($past_date);
			$past_date .= $minute;
	}else if ($past_time < $d){ //小于1天
			$past_date = $past_time / $h;
			$past_date = floor($past_date);
			$past_date .= $hour;
	}else if ($past_time < $d*10){
			$past_date = $past_time / $d;
			$past_date = floor($past_date);
			$past_date .= $day;
	}else{
			echo get_post_time('y-m-d');
			return;
	}
	echo $past_date . $suffix;
}

By 于湛 发布于 2013.02.28 4,076 次浏览

另一种修改 WordPress 时间显示为 “几天前”》上有1条评论

  1. Pingback引用通告: 如何让 WordPress 时间显示为”几天前” | WonderCSS

发表评论

电子邮件地址不会被公开。 必填项已用*标注