实现WordPress文章发布时间自定义“几小时”

更新时间:2018-10-06 分类:设计主题 浏览量:1739

实现WordPress文章发布时间自定义“几小时”

近日正准着手“设计”一款主题,说是设计,其实也就是仿一些优秀的CSS和框架,在此之前,已经做了很多次的Demo了,但都不满意而丢弃。在这制作过程中,对 WordPress 有一些特别的个性需求,其中一项就是定义发布文章的时间,想要把时间定义在24小时内发布的文章显示为 几分钟,几小时之前,超过24小时之后的,就显示为当天的日期。经过谷歌一下,查阅了对应的 WordPress 文档关于自定义时间和日期格式帮助,找到了解决方法。

一、首先定义时间函数,改变时间格式。把下面的代码加入主题函数模板 functions.php文件中


//自定义发布时间函数
function zm_times ($wpg_date, $zm_date = false)
{
    $zm_wpformat = array(
    array(60 * 60 * 24 * 365 , '年'),
    array(60 * 60 * 24 * 30 , '月'),
    array(60 * 60 * 24 * 7, '周'),
    array(60 * 60 * 24 , '天'),
    array(60 * 60 , '小时'),
    array(60 , '分钟'),
    );
      
    $zm_date = ($zm_date == false) ? (time()+(60*60*get_settings("gmt_offset"))) : $zm_date;
    $since = $zm_date - abs(strtotime($wpg_date));
      
    //根据需要调整时间段,24表示小时
    if($since < 60 * 24){
    for ($i = 0, $j = count($zm_wpformat); $i < $j; $i++)
    {
    $seconds = $zm_wpformat[$i][0];
    $name = $zm_wpformat[$i][1];
      
    if (($count = floor($since / $seconds)) != 0)
    {
    break;
    }
    }
      
    $out = ($count == 1) ? '1 '.$name : "$count {$name}";
    return $out." 前";
    }else{
    the_time(get_option('date_format'));
    }
}

二、调用时间函数,在需要显示发布时间的模板中调用自定义的时间发布函数

例如:在模板发布时间中,将原来的 <php the_time('Y-F-d') ?> 改成 <?php echo zm_times($post->post_date);?> 即可。

- End -