
在部落格的文章頁面上增加顯示文章的修改或更新日期,基本上可以增加讀者閱讀文章的信任感並降低跳出率,試想當你在網路上辛苦地找到一篇文章時,卻發現它是10年前(2016)發表的內容,你是否會稍微懷疑一下文章是否還跟得上時代。但如果它有標註文章在今年(2026)更新,你是否就比較有信心繼續閱讀?
工作熊發現,有人為了解決文章過老的問題,會直接移除文章的發表日期,但這樣反而會讓讀者懷疑文章內容的時效性,還不如直接顯示發表日期,讓讀者自己判斷。而最好的方法則是同時顯示「發表日期 +更新日期」,但這個更新日期,建議要在文章有重大更新時才顯示,如果只是修改錯別字,就算了。
不過,在實際操作上,WordPress本身無法自動幫我們判斷文章是否有重大更新,所以我採取的方法是統一顯示文章更新日期,但加了一個時間門檻,只有「更新日期 ≧ 發表日期 + 30天」,才會顯示更新日期。當然,我們也可以選擇手動來調整是否要顯示更新日期,這樣才是最精準的,但操作上會比較麻煩,所以本文只會說明【如何在WordPress上增加一個距離文章發表日期一定時間後的更新日期作法】。
在我們開始部落格版型修改前,提醒你注意下面的提醒:
- 你最好具備基礎的JavaScript程式能力,至少要可以大致看得懂,知道要把程式碼安裝在那裏。
- 建議先備份欲修改的WordPress版型程式碼。
- 修改程式碼時,建議要使用純英文的環境,因為有時候中文字型會造成程式碼無法順利執行,比如中文空格。
- 最好知道如何使用瀏覽器的DevTools工具來debugCSS與版型。
原則上我們會把【文章更新日期】直接放在【發表日期的後面】,就如同文章最前面的圖例顯示那樣,所以只要把下面這段程式碼直接安插在【發表時間】程式碼的後面就可以了。
<div class="md_date">
<?php if ( get_the_modified_time('U') >= get_the_time('U') + 2592000 ) : ?> <!-- 更新時間 ≥ 發表時間 + 720 小時 -->
<span>| 更新日期:<?php echo get_the_modified_time('Y年m月d日'); ?></span> <!-- original ('d M, Y') -->
</div>
程式碼說明:
- <div class=”md_date”>…</div>:我們可以在CSS中定義更新日期(md_date)的格式。如果要沿用原來【發表日期】的格式,就直接<div class=”md_date”>及</div>,留下間的程式碼就可以,就類似本文末的範例。請注意:很多時候,在格式中增加一個<div>…</div>會產生跳行。個人建議,如果自己搞不定,就直接移除<div class=”md_date”>及</div>。
- get_the_time():是Wordpress的內建函數,用於取得當前文章的發佈時間。與 the_time() 不同,它將時間作為 PHP 字串返回,而不是直接輸出,因此適用於需要賦值給變數或進一步處理的場景。此函數通常在循環(Loop)中使用。
- get_the_modified_time():是Wordpress的內建函數,用於取得文章/頁面的最後修改時間。它必須在 循環(Loop)內使用。與直接輸出時間的 the_modified_time() 不同,此函數傳回格式化的時間,方便使用 echo 或用於邏輯比較。常結合格式化參數(如 “Y-m-d”)顯示「最後更新於」。
- 參數 ‘U’:代表 Unix 時間戳格式(自 1970 年 1 月 1 日以來的秒數)。
- 2592000:秒數。2592000秒 / 3600 = 720小時 / 24 = 30天。表示「更新時間 ≥ 發表時間 + 720 小」時,文章才會顯示修改日期,也就是距離發表時間 30 天後,只要文章經過修改後儲存,都會顯示修改日期。使用者可以自行更改此參數,調整時間間隔。
- 日期及時間顯示格式:
日:j → 1, 2, 3 … 31
日:d → 01, 02, 03 … 31
月:m → 01, 02, 03 … 12
月:M → Jan、Feb、Mar、…、Dec
月:F → January、February、March、…、December
年:Y → 2026
下面範例的粉紅色字體部分為新增加顯示更新日期的程式碼。
<div class="post-meta-top">
<div class="auth">
<span>Posted by <strong><?php the_author_posts_link(); ?></strong></span>
</div>
<div class="date">
<span>發表日期:<?php the_time('d/m/Y'); ?></span>
<?php if ( get_the_modified_time('U') >= get_the_time('U') + 28800 ) : ?> <!-- 更新時間 ≥ 發表時間 + 8 小時 -->
<span>| 更新日期:<?php echo get_the_modified_time('d/m/Y'); ?></span>
<?php endif; ?>
<div class="clearboth"></div>
</div>
延伸閱讀:


發佈留言