近日正准着手“设计”一款主题,说是设计,其实也就是仿一些优秀的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);?> 即可。
评论(0人参与,0条评论)
发布评论
最新评论