腾讯云服务器优惠活动华纳云香港服务器

两步实现WordPress文章时间格式为几分钟前

WordPress主题推荐

我不知道是从什么时候开始流行把文章的发布时间改为几分钟前,以前我一直都没有想过这件事,直到前几天在逛魅族社区的时候,发现它的每一个帖子的时间都显示为几分钟前、几个小时前,感觉看着特别和谐,所以就想到把这个时间格式也折腾进Unite主题(具体效果可以看懿古今),今天特意将这个过程分享出来。

两步实现WordPress文章时间格式为几分钟前-第1张-boke112百科(boke112.com)

Unite主题2.0版本

第一步:在我们所使用主题的 functions.php 文件最后一个?>前中加入以下代码:

  1. //时间格式多久以前
  2. function timeago($ptime) {
  3.     $ptime = strtotime($ptime);
  4.     $etime = time() – $ptime;
  5.     if ($etime < 1) return ‘刚刚’;
  6.     $interval = array(
  7.         12 * 30 * 24 * 60 * 60 => ‘年前 (‘ . date(‘Y-m-d’, $ptime) . ‘)’,
  8.         30 * 24 * 60 * 60 => ‘个月前 (‘ . date(‘m-d’, $ptime) . ‘)’,
  9.         7 * 24 * 60 * 60 => ‘周前 (‘ . date(‘m-d’, $ptime) . ‘)’,
  10.         24 * 60 * 60 => ‘天前’,
  11.         60 * 60 => ‘小时前’,
  12.         60 => ‘分钟前’,
  13.         1 => ‘秒前’
  14.     );
  15.     foreach ($interval as $secs => $str) {
  16.         $d = $etime / $secs;
  17.         if ($d >= 1) {
  18.             $r = round($d);
  19.             return $r . $str;
  20.         }
  21.     };
  22. }

第二步:在需要显示时间的地方,把原先显示时间的代码(如:<?php the_time( ‘Y年n月j日’);?>)改为以下代码即可:

  1. <span title=“<?php the_time(‘Y年n月j日’);?>”>
  2.        <?php  echo timeago(get_gmt_from_date(get_the_time(‘Y-m-d G:i:s’))); ?>
  3. </span>

至此,我们已经成功实现将我们的文章发布时间的格式为几分钟前,不过个人建议不要把所有的文章时间格式都改为几分钟前,我们只需要重点修改博客布局的首页(index.php)和分类列表页(category.php)即可。

PS:文章代码来源于网络,至于版权是谁的已经无从考究。

本文地址:https://boke112.com/post/1780.html

赞 (0) 打赏
版权声明:本文为原创文章,版权归 boke112百科 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu