之间我从老外转了篇文章,《换个方式显示日志发表时间和回复时间》,并且经过万戈同学加工后,可以让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
不错的方法,学习了。
万能的谷歌把我带到你这来了。我已经照您所说,一切改好了,不想人性话,太麻烦了,哇哈哈。
主题折腾的不错~~和MG12自用的很接近了!
细节决定一切
小细节的修改也是很重要的。很人性化。
浏览器错误 不是sf
啥错误?
沙发啊
你参考的那篇是D版的,原版的在这里:http://wange.im/wordpress-time-diff-in-posts-and-comments.html
哈哈哈。。绕来绕去原来还是你的。。。
额,这个实用性不大