让WordPress显示某个时间前发表和最近更新时间方法(修改版)
让WordPress显示时间为某个时间前发表,把以下代码添加到function文件内: //time ago …
让WordPress显示时间为某个时间前发表,把以下代码添加到function文件内:
//time ago show yijiexiaomi.com
add_filter(‘past_date’);
function past_date(){
$suffix=’前’;
$endtime=’31536000′;
$year = ‘年’;
$month = ‘月’;
$day = ‘天’;
$hour = ‘小时’;
$minute = ‘分钟’;
$second = ‘秒’;
if ($_SERVER[‘REQUEST_TIME’])
$now_time = $_SERVER[‘REQUEST_TIME’];
else
$now_time = time();
$m = 60; // 一分钟
$h = 3600; //一小时有3600秒
$d = 86400; // 一天有86400秒
$mo = 2592000; // 一月有2592000秒
$ye = 31536000; // 一年有2592000秒
$endtime = (int)$endtime; // 结束时间
$post_time = get_post_time(‘U’, true);
$past_time = $now_time – $post_time; // 文章发表至今经过多少秒
if($past_time < $m){ //小于1分钟
$past_date = $past_time . $second;
}else if ($past_time < $h){ //小于1小时
$past_date = $past_time / $m;
$past_date = floor($past_date);
$past_date .= $minute;
}else if ($past_time < $d){ //小于1天
$past_date = $past_time / $h;
$past_date = floor($past_date);
$past_date .= $hour;
}else if ($past_time < $mo){
$past_date = $past_time / $d;
$past_date = floor($past_date);
$past_date .= $day;
}else if ($past_time < $ye){
$past_date = $past_time / $mo;
$past_date = floor($past_date);
$past_date .= $month;
}else if ($past_time < $ye*12){
$past_date = $past_time / $ye;
$past_date = floor($past_date);
$past_date .= $year;
}else{
echo get_post_time(‘Y-m-d’);
return;
}
echo $past_date . $suffix;
}
在文章页或者列表页需要显示的地方添加<?php echo past_date(yy-mm-dd); ?>代码即可!效果如本站!
另外文章内“发表于-日期 – 最近更新于-日期 ”代码如下:显示效果见本文-(把代码添加在文章页single.php需要显示的位置)
<p class=’last-updated’>
<?php $u_time = get_the_time( ‘U’ );
$u_modified_time = get_the_modified_time( ‘U’ );
if ( $u_modified_time >= $u_time + 86400 ) {
echo “发表于 “;
echo past_date(‘yy-mm-dd ‘);
echo ” – “;
echo ” 最近更新于 “;
the_modified_time( ‘Y-m-j l ‘ );
} else {
echo “发表于 “;
the_time( ‘Y-m-j l’ );
} ?></p>
在网上找了一些代码,通过修改成为自己想要的样子。
a = 一般在12小时制显示时使用,显示当前是 am(上午)或 pm(下午) A = 功能同上,区别是 am 或 pm 为大写
d = 一月中的哪一天,固定以两位数显示
F = 文字全称表示的月份
g = 12小时制的小时数,位数根据实际的时间决定 G = 24小时制的小时数,位数根据实际的时间决定
h = 12小时制的小时数,固定以两位数显示 H = 24小时制的小时数,固定以两位数显示
注:如当前时间是早上8点,用 h 参数输出的结果为 08,用 g 参数输出的结果为 8,换成大写后仅改变时制。
i = 当前分钟数 I = 输出一个零,不知何用,望知道的兄弟指教。(大写 i)
j = 一月中的哪一天,位数根据实际的日期决定
l = 文字表示的星期(小写 L) L = 输出一个零,不知何用,望知道的兄弟指教。
m = 数字表示的月份 M = 英文缩写的月份
s = 当前秒数 S = 一般跟随参数 j 使用,效果是在天数后加上序数词后坠(st, nd ,rd 等)
Y = 4位数的年份 y = 2位数的年份
注:参数区分大小写,写在参数引号内的非参数字符不做处理,直接输出。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
评论功能已经关闭!