wordpress人性化时间优化显示

LMS
1.6K+ 11

之间我从老外转了篇文章,《换个方式显示日志发表时间和回复时间》,并且经过万戈同学加工后,可以让wordpress像论坛那样在24小时内显示相对的时间,24小时后,按默认时间显示。可是好像是从wordpress3.0开始,在模板中添加代码echo human_time_diff(get_the_time('U'), current_time('timestamp')) . '前';就会自动显示人性化的相对时间,但是,这个人性化时间依然不受控制,如果是100天以前的,仍然显示100天以前,这就叫过犹不及,反而不人性化了。

想要让24小时以外的文章和评论时间保持原有的年月日格式,可以通过在function.php文件中加入以下代码来实现:

function time_diff( $time_type ){
switch( $time_type ){
case 'comment': //如果是评论的时间
$time_diff = current_time('timestamp') - get_comment_time('U');
if( $time_diff <= 86400 ) //24 小时之内
echo human_time_diff(get_comment_time('U'), current_time('timestamp')).' 之前'; //显示格式 OOXX 之前
else
printf(__('%1$s at %2$s'), get_comment_date(), get_comment_time()); //显示格式 X年X月X日 OOXX 时
break;
case 'post'; //如果是日志的时间
$time_diff = current_time('timestamp') - get_the_time('U');
if( $time_diff <= 86400 )
echo human_time_diff(get_the_time('U'), current_time('timestamp'));
else
the_time('Y.m.d');
break;
}
}

然后再替换你的文章和评论的时间显示函数

以下是显示评论时间函数代码:

time_diff( $time_type = 'comment' );

以下是显示文章Post或则页面page的时间代码:

time_diff( $time_type = 'post' );

这样就完美了。

文章代码转自:http://acefav.com/2011/01/20/013502.html

THE END

评论 11

  1. 不错的方法,学习了。

  2. 万能的谷歌把我带到你这来了。我已经照您所说,一切改好了,不想人性话,太麻烦了,哇哈哈。 :razz:

  3. 主题折腾的不错~~和MG12自用的很接近了!

  4. 小细节的修改也是很重要的。很人性化。

  5. 你参考的那篇是D版的,原版的在这里:http://wange.im/wordpress-time-diff-in-posts-and-comments.html :mrgreen:

    1. 哈哈哈。。绕来绕去原来还是你的。。。

发表评论

Submit