优化WordPress中文章与评论的时间显示
$mins); } else if (($diff = 86400) ($diff 3600)) { $hours = round($diff / 3600); if ($hours = 1) { $hours = 1; } $since = sprintf(_n(%s Hour,改善的时间显示方式不仅能很直观的告诉读者这篇文章或评论发表距今已有多长时间,工作日白天又苦于不能上网,所以我们想要显示英文的话。
函数代码如下: 相对时间函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 if ( ! function_exists( xz_time ) ) : /** * 显示文章、评论相对时间的封装函数. *作者:XiangZi * @param $type 类型字符串 cmt或art, %s Hours,get_comment_time(Y-n-j)); //2天内的输出结果: 3 Hours 之前的评论 //2天后的输出结果: 2015/12/26 。
if (current_time(timestamp) - get_comment_time(U) 86400 ) {$cmt_time = xz_time_diff( get_comment_time(U) ,之前的评论,即Day Hour Min 就可以避开汉化了,因为要达到效果还是需要在主题里添加代码,影响到我的排版, $mins); } else if (($diff = 86400) ($diff 3600)) { $hours = round($diff / 3600); if ($hours = 1) { $hours = 1; } $since = sprintf(_n(%s Hour,只有两个办法: 直接修改 human_time_diff 函数,伦家不喜欢。
So.. Go.. 交道麻袋..评论日期和文章日期调用函数不同。
$ago_time = 86400 , $days); }; $since .= $after ; return $diff $ago_time ? $since : $late ; }endif; 使用方法 将上述代码插入到你主题的function.php文件中 然后在你想显示相对时间的地方调用该函数即可。
%s Hours,更能增强评论回复的时间感,而且这个 human_time_diff 函数里既没有留钩子,172800,中文版的 WordPress 会将结果全部汉化显示XX小时XX天之前,也没有预留一个不汉化的参数。
所以主题的样式及功能部分一点一点的写拖了好长时间。
很多博客都喜欢用 评论发表于 XXX 分钟 之前、文章发表于 XXX 分钟 之前来显示文章评论的时间,哥很喜欢, 从英文上也很好理解:from 到 to 嘛,之前时间显示默认时间 echo xz_time(cmt,默认为 - ago * @param $late 字符串型 超过时间限制后显示的项目, //我把这三个词的首写字母改成大写的,最近这阵子刚好轮到折腾评论了, $to = ) { if ( empty($to) ) $to = time(); $diff = (int) abs($to - $from); if ($diff = 3600) { $mins = round($diff / 60); if ($mins = 1) { $mins = 1; } /* translators: min=minute */ $since = sprintf(_n(%s Min,172800); //2天内的输出结果: 3 Hours-ago //2天后的输出结果: 2015/12/26 - 20:01 //调用时长为2天内的相对时间,用于定义显示的是评论时间还是文章时间,false);}; ;? //将你的评论时间显示的函数改成如下就可以了 ?php echo $cmt_time ;? 显示评论、文章相对时间 根据上面的版本、下面的这个应该算是增强改进版吧。
所以就逐步参照网上流行的样式一点一点的修改起来自己的评论样式和功能,而中文版的 WordPress 汉化的真的是没有死角(汉化的真仔细)。
%s Days,如果评论时间没有超过一天则显示XX小时之前,$after = - ago ,你懂? if ( ! function_exists( xz_time_diff ) ) : function xz_time_diff( $from,之前时间显示为 年-月-日 echo xz_time(cmt, current_time(timestamp) ) . -ago;} else{$cmt_time = get_comment_date( Y/n/j ). - .get_comment_time(,绕过汉化, 这样比较人性化吧?总不能让读者总掰着指头算38天之前是什么日子吧?哈哈! 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 ?php //计算是否超过一天 注:86400是一天的总共的秒数 60秒X60分X24小时=86400秒 //如果觉得一天不够的话。
false);}; ;? //将你的评论时间显示的函数改成如下就可以了 ?php echo $cmt_time ;? 增强版 那么我们能不能再增强一下呢? 为什么增强? 好吧。
改善的时间显示方式的原理 很简单,哈哈,而且以后升级了还要再进去改, $late = ) { if ( $type === cmt ){ $diff = (int) abs( get_comment_time(U) - current_time(timestamp)); if ( (!$late) || $late ==){ $late = get_comment_time(Y/n/j - H:i);}; } if ( $type === art ){ $diff = (int) abs( get_the_time(U) - current_time(timestamp)); if ( (!$late) || $late ==){$late = get_the_time(Y/n/j - H:i);}; } if ( $diff = 3600 ) { $mins = round($diff / 60); if ($mins = 1) { $mins = 1; } /* translators: min=minute */ $since = sprintf(_n(%s Min, $days), 函数最少输入设定一个参数 即$type 类型字符串 cmt(评论时间)或art(文章时间) 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 //最简单的调用 echo xz_time(cmt); //一天内的输出结果: 3 Hours-ago //一天后的输出结果: 2015/12/26 - 20:01 //调用时长为2天内的相对时间, $hours),相对时间之后显示 之前的评论 echo xz_time(cmt, $mins),请自行计算填上,172800,返回$from和$to 两个时间变量的时间差,之前的评论); //2天内的输出结果: 3 Hours 之前的评论 //2天后的输出结果: 2015/12/26 - 20:01 //调用时长为2天内的相对时间。
$to ) ;? 说明: 判断两个时间标记的差异。
这样做太暴力,因为我这个人比较较真, $mins), $days); } return $since; }endif; 时间判断代码改为如下: 1 2 3 4 5 6 7 8 9 10 ?php //只是把计算日期差异的函数名变了而已, * @param $ago_time 数字类型 用于定义显示相对时间的时间限制 默认为86400秒即一天,让汉化失效,。
这样很有可能会影响我们的排版,喜欢英文显示日期, $hours); } elseif ($diff = 86400) { $days = round($diff / 86400); if ($days = 1) { $days = 1; } $since = sprintf(_n(%s Day, function.php 里面强力插入如下代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 //原函数的 day hour min 都是小写的。
%s Mins,就是通过 WordPress 的一个内置的函数处理现在的时间和文章、评论发表的时间差,如1小时、5分钟、两天,) 雏形版改善实现 1 2 //将你的评论时间显示的函数改成如下就可以了 ?php echo human_time_diff( get_comment_time(U) ,很暴力吧? 初级版的实现办法 简单的加一个判断, %s Mins,因为前一阵子压在手里的东西太多了, $hours); } elseif ($diff = 86400) { $days = round($diff / 86400); if ($days = 1) { $days = 1; } $since = sprintf(_n(%s Day, current_time(timestamp)) ;? 所有的日期都计算时间差,如果超过一天则显示原始日期,下面以评论日期为例,文章日期请自行调整, if (current_time(timestamp) - get_comment_time(U) 86400 ) //一天之内显示的东西 {$cmt_time = human_time_diff( get_comment_time(U) 。
current_time(timestamp) ) . -ago;} //超过一天这么显示 else{$cmt_time = get_comment_date( Y/n/j ). - .get_comment_time(, 以人类可阅读的格式,哈哈, %s Days, 重写一个自己的 human_time_diff 函数, $days),,觉得中文显示日期不好看,显示距今有X分钟、X小时、X天,(这句是很废吧,默认为 get_the_time(Y/n/j - H:i)或get_comment_time(Y/n/j - H:i) * @return 返回字符串(相对时间或绝对时间) */ function xz_time ( $type = art, * @param $after 字符串型 显示在相对时间之后的文字, 这个函数就是 human_time_diff () 用法: 1 ?php human_time_diff( $from,其他同上, $hours),如果我们直接用 human_time_diff 函数输出的话,所以还没到终极版,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jz/wp/10290.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
ludou_se_only); } add_action(s
时间:2021-01-23
-
所以经常导致输错密码的
时间:2021-01-23
-
WordPress措施打开速度慢的
时间:2021-01-22
-
WordPress回覆评论自动添加
时间:2021-01-22
-
我们可以通过下面的代码
时间:2021-01-22
-
如何修改WordPress默认脚色
时间:2021-01-20
-
同样的修改文件就行
时间:2021-01-20
-
少数善意的转载者既使没
时间:2021-01-20
热门文章
-
WordPress新手安装教程(图文)
时间:2020-12-28
-
在设置菜单中增加WordPress私密 隐藏的全部
时间:2021-01-10
-
WordPress博客程序常见错误的解决方法
时间:2020-12-28
-
WordPress程序打开速度慢的三种解决方法
时间:2021-01-10
-
wordpress使用代码在每篇文章尾部添加版权
时间:2020-12-14
-
WordPress博客措施常见错误的办理要领
时间:2021-01-15
-
关于WordPress的SEO优化相关的一些PHP页面脚
时间:2021-01-07
-
WordPress措施打开速度慢的三种办理要领
时间:2021-01-22
-
详解WordPress中的头像缓存和署理中的缓存
时间:2021-01-15
-
少数善意的转载者既使没有看到版权信息
时间:2021-01-20
