wordpress函数human_time_diff时间显示为“XX分钟前”
今天在修改模板的时候,想用上“XX分钟前”这种时间显示效果,百度了下,找到 了wordpress自带的函数,比起网上别人分享的方法简单方便多了,果断拿来使用
使用方法:<?php human_time_diff( $from, $to ); ?>
例子:(来源于:human time diff)
To print an entry's time ("2 days ago"): <?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . ' ago'; ?>
For comments: <?php echo human_time_diff( get_comment_time('U'), current_time('timestamp') ) . ' ago'; ?>
但是在我的博客上显示的居然是中英文混用的...,不知道是不是我的版本问题还是什么情况,我现在版本是3.6 最新版。
貌似这次wordpress更新 下面的翻译问题已经不出现了,真好,可以直接用这个函数了,下面的内容大家就无视吧。
在我的博客上显示效果如下
2 天 ago
2 weeks ago
这个ago可以自定义,但是那个”天“和”weeks“看的真心蛋疼,这个days倒是翻译成中文了,后面的weeks就是英文的,要嘛全中文,要嘛全英文嘛
临时解决方法:
打开wp-includes/formatting.php 分别找到
$since = sprintf( _n( '%s week', '%s weeks', $weeks ), $weeks );
$since = sprintf( _n( '%s month', '%s months', $months ), $months );
$since = sprintf( _n( '%s year', '%s years', $years ), $years );
修改为
$since = sprintf( _n( '%s 周', '%s 周', $weeks ), $weeks );
$since = sprintf( _n( '%s 月', '%s 月', $months ), $months );
$since = sprintf( _n( '%s 年', '%s 年', $years ), $years );
所谓临时方案,也就是在下次更新wordpress版本的时候得再次修改这个文件,除非官方修复了这个bug
修改后效果见I SAY
PS:对于英文的wordpress,提交这个BUG我暂无能为力...哪位大神测试下是不是也有这个情况去提交个BUG呗...
要修改内核,懒得折腾啊。
确实稍微麻烦了点 但是效果还是不错的 这个问题是官方汉化的不完全导致的 :roll:
你的网站在我这边居然打不开
:x 貌似这次版本更新后,上面的翻译问题已经没有了 可以直接用那个函数调用而不需要改内核了 不知道是不是我之前搞错还是怎么的 反正更新后就好了
哎呀,高人,厉害啊,我在用你的土鳖网主题,做网站,做得不错哦。。。
你的网站也不错嘛