Zhouyao's Blog

Do Something Big With Us

WordPress美化:显示文章具体发表时间

一周发布数篇文章,需要很友好的时间显示,以及混淆视线,你木看错,我写这篇文章就为了这个!

大前端默认的是 xx分钟前、xx小时前、xx天前、xx周前、xx月前、xx年前。。

我修改的 :

以下为演示:

默认格式

《WordPress美化:显示文章具体发表时间》

修改后格式

《WordPress美化:显示文章具体发表时间》

默认格式代码

主题的 functions.php中添加

function timeago( $ptime ) {
    $ptime = strtotime($ptime);
    $etime = time() - $ptime;
    if ($etime < 1) return '刚刚';     
    $interval = array (         
        12 * 30 * 24 * 60 * 60  =>  '年前 ('.date('Y-m-d', $ptime).')',
        30 * 24 * 60 * 60       =>  '个月前 ('.date('m-d', $ptime).')',
        7 * 24 * 60 * 60        =>  '周前 ('.date('m-d', $ptime).')',
        24 * 60 * 60            =>  '天前',
        60 * 60                 =>  '小时前',
        60                      =>  '分钟前',
        1                       =>  '秒前'
    );
    foreach ($interval as $secs => $str) {
        $d = $etime / $secs;
        if ($d >= 1) {
            $r = round($d);
            return $r . $str;
        }
    };
}

列表页和文章页面使用方法:

适用于 index.php/search.php/tag.php/single.php/page.php/author.php/category.php

在需要显示时间的地方替换成以下,注意需要放在?php代码块中:

echo '发表于 '.timeago( get_gmt_from_date(get_the_time('Y-m-d G:i:s')) );

评论区域使用方法:

在需要显示时间的地方替换成以下,注意需要放在评论循环内:

echo '发表于 '.timeago( $comment->comment_date_gmt );

修改的函数代码

在主题的functions.php中添加上一版本相同内容,也可以不用添加。

然后再文章页指定位置添加调用:

<div class="kratos-post-meta text-center">
	<span>
	<i class="fa fa-calendar"></i> <?php echo get_the_date(); ?>
        <i class="fa fa-commenting-o"></i> <?php comments_number('0', '1', '%'); ?>条评论
        <i class="fa fa-eye"></i> <?php echo kratos_get_post_views();?>次阅读
        <i class="fa fa-thumbs-o-up"></i> <?php if( get_post_meta($post->ID,'love',true) ){ echo get_post_meta($post->ID,'love',true); } else { echo '0'; }?>人点赞
	</span>
</div>

之前的fuctions.php的时间代码如下,可以看到<i class=”fa fa-calendar”></i> <?php echo get_the_date(); ?>

这个即为文章页时间的代码模块,添加年月日时分秒到get_the_date()中即可

<?php the_date('Y-m-d H:i l'); ?>

 附录:WordPress的时间函数

文章的时间函数为:
<?php the_time() ?>

评论的时间函数为:
<?php comment_date() ?>

评论的日期函数为:
<?php comment_time() ?>

一个典型的时间函数实例为以下代码:
<?php the_time(’F jS, Y’) ?>

单引号内的代码即为时间参数。

WordPress的全部时间参数及显示效果

* a代表小写的英语的上下午,如am、pm
* A代表大写的英语的上下午,如AM、PM
* d代表英语的日期(小于10仍为两位数写法),如05、12
* D代表中文的星期,如五、七
* F代表中文的月份(包括“月”这个字),如五月、十二月
* g代表英语的小时(小于10为一位数写法),如5、12
* G代表英语的小时(小于10仍为两位数写法),如05、12
* h代表英语的分钟(小于10为一位数写法),如5、12
* H代表英语的分钟(小于10仍为两位数写法),如05、12
* j代表英语的日期(小于10为一位数写法),如08-02-09
* l代表中文的星期(包括“星期”这两个字),如星期五、星期七
* m代表英语的月份(小于10仍为两位数写法),如05、12
* M代表英语的月份(以单词的形式显示),如Jun
* n代表英语的月份(小于10为一位数写法),如5、12
* O代表英语的时区,如+0800
* r代表完整的日期时间,如Tue, 06 Jun 2006 18:37:11 +0800
* S代表日期的序数后缀,如st、th
* T代表英语的时区(以单词的形式显示),如CST
* w代表英语的星期,如5、7
* W代表周数,如23
* y代表两位数年份,如07、08
* Y代表四位数年份,如2007、2008
* z代表天数,如156

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

1 + 4 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.