WordPress 本身調(diào)用時(shí)間的函數(shù) the_time() 只能直接調(diào)用時(shí)間,通過他的 filter,我們可以讓他顯示為比較科學(xué)的幾天前格式。
將下邊的代碼丟到 function.php 的最后一個 ?> 前即可。
/**
* WordPress 修改時(shí)間的顯示格式為幾天前
* http://www.ydqwiac.cn/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 小時(shí)', '%s 小時(shí)', $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');
上邊的代碼可以讓 30 天內(nèi)發(fā)布的文章顯示為幾天前,而過了 30 天即顯示為正常的標(biāo)準(zhǔn)格式日期。
聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。






想顯示提前幾個月怎么改上面的代碼
同樣的問題
新發(fā)布文章顯示為8小時(shí)前
想問一下博主,為啥我網(wǎng)站的Wordpress文章每次新發(fā)布的時(shí)間為8小時(shí)前,UTC的時(shí)間比本地的少八個小時(shí),Wordpress里已經(jīng)修改為UTC+8了還是不可以
服務(wù)器時(shí)間的問題,請聯(lián)系主機(jī)商或給你配置環(huán)境的人
還是來博主這學(xué)東西靠譜
$time = sprintf(_n(‘%s 分’, ‘%s 分種’, $mins), $mins) . __( ‘前’ , ‘Bing’ );
錯了一個字
已修復(fù),謝謝
其實(shí)我改的沒見效果,
老大
我用的是wp3.8 使用這篇文章代碼后效果是這樣的:
新發(fā)布文章顯示為8小時(shí)前
然后在7,6,5小時(shí)前…
請問一下是怎么回事??
你的問題解決了嗎
新發(fā)布文章顯示為8小時(shí)前
然后在7,6,5小時(shí)前…這樣的。
分種(鐘)?
不錯,以后用得著