本篇教程介紹WordPress如何將發表的文章時間顯示為XX天前,希望對大家有所幫助。
WordPress日期和時間調用函數一般為
<?php the_time('Y-m-d'); ?>
顯示為2020-12-21
修改()中內容用以下字符替換可以達到相應效果。
代碼如下:
<?php the_time('Y年m月d日'); ?>
則顯示 2020年12月21日
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為一位數寫法),如05、12
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
改為XX天顯示
把以下代碼放在你主題目錄下的functions.php文件中
function wpmao_timeago( $ptime ) { $ptime = strtotime($ptime); $etime = time() - 28800 - $ptime; if($etime < 1) return '剛剛'; if($etime > 86400) return date('m-d', $ptime); $interval = array ( 12 * 30 * 24 * 60 * 60 => '年前', 30 * 24 * 60 * 60 => '月前', 7 * 24 * 60 * 60 => '周前', 24 * 60 * 60 => '天前', 60 * 60 => '小時前', 60 => '分鐘前', 1 => '秒前' ); foreach ($interval as $secs => $str) { $d = $etime / $secs; if ($d >= 1) { $r = round($d); return $r . $str; } }; }
然后是調用代碼
<?php echo wpmao_timeago( get_gmt_from_date(get_the_time('Y-m-d G:i:s')) ) ?>