或者

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

作者:希腊神话 浏览:351 发布时间:2017-07-24
分享 评论 0

近日正准着手“设计”一款主题,说是设计,其实也就是仿一些优秀的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);?> 即可。