WordPress 本身调用时间的函数 the_time() 只能直接调用时间,通过他的 filter,我们可以让他显示为比较科学的几天前格式。
将下边的代码丢到 function.php 的最后一个 ?> 前即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
/** * WordPress 修改时间的显示格式为几天前 * https://www.wpdaxue.com/time-ago.html */ function Bing_filter_time(){ global $post ; $to = time(); $from = get_the_time('U') ; $diff = (int) abs($to - $from); if ($diff <= 3600) { $mins = round($diff / 60); if ($mins <= 1) { $mins = 1; } $time = sprintf(_n('%s 分钟', '%s 分钟', $mins), $mins) . __( '前' , 'Bing' ); } else if (($diff <= 86400) && ($diff > 3600)) { $hours = round($diff / 3600); if ($hours <= 1) { $hours = 1; } $time = sprintf(_n('%s 小时', '%s 小时', $hours), $hours) . __( '前' , 'Bing' ); } elseif ($diff >= 86400) { $days = round($diff / 86400); if ($days <= 1) { $days = 1; $time = sprintf(_n('%s 天', '%s 天', $days), $days) . __( '前' , 'Bing' ); } elseif( $days > 29){ $time = get_the_time(get_option('date_format')); } else{ $time = sprintf(_n('%s 天', '%s 天', $days), $days) . __( '前' , 'Bing' ); } } return $time; } add_filter('the_time','Bing_filter_time' |