核心函數對比表
| 函數 | 用途 | 輸出/返回 | 循環要求 | 特殊行為 |
| the_date() | 顯示發布日期 | 直接輸出 | 需在 Loop 內 | 同一天多篇文章僅首次顯示 |
| the_time() | 顯示發布時間 | 直接輸出 | 需在 Loop 內 | 每篇文章都顯示 |
| get_the_time() | 獲取時間字符串 | 返回字符串 | 需在 Loop 內 | 供 PHP 變量使用 |
| the_date_xml() | XML 格式日期 | 直接輸出 | 需在 Loop 內 | 固定 YYYY-MM-DD |
格式化參數完整對照表
| 參數 | 含義 | 示例 |
| Y | 4位年份 | 2024 |
| y | 2位年份 | 24 |
| m | 數字月份(帶前導0) | 01-12 |
| n | 數字月份(無前導0) | 1-12 |
| F | 月份全稱 | January |
| M | 月份縮寫 | Jan |
| d | 日期(帶前導0) | 01-31 |
| j | 日期(無前導0) | 1-31 |
| l | 星期全稱 | Monday |
| D | 星期縮寫 | Mon |
| H | 24制小時(帶前導0) | 00-23 |
| G | 24制小時(無前導0) | 0-23 |
| h | 12制小時(帶前導0) | 01-12 |
| g | 12制小時(無前導0) | 1-12 |
| i | 分鐘(帶前導0) | 00-59 |
| s | 秒(帶前導0) | 00-59 |
| a | am/pm 小寫 | am |
| A | AM/PM 大寫 | PM |
| S | 序數後綴 | st, nd, rd, th |
實戰格式化示例
// 中文常用格式
the_time('Y年m月d日 H:i:s'); // 2024年01月15日 14:30:45
the_time('Y-m-d H:i'); // 2024-01-15 14:30
the_time('l, F j, Y'); // Monday, January 15, 2024
the_time('Y/m/d (D)'); // 2024/01/15 (Mon)
// 進階:條件格式化
if (is_new_day()) {
the_date('Y年m月d日'); // 僅當天首篇顯示日期
}
the_time('H:i'); // 每篇都顯示時間
常見坑與解決方案
- 同天文章日期不顯示:改用
the_time('Y-m-d') 或檢查 is_new_day()。
- 時區錯誤:在
wp-config.php 設置 date_default_timezone_set('Asia/Shanghai') 或後台「設置→常規→時區」。
- 中文星期/月份:WordPress 核心已內置本地化,確保
wp-config.php 中 define('WPLANG', 'zh_CN')(舊版)或後台語言設置正確。
- 自定義字段日期:使用
get_post_meta($id, 'field', true) 獲取時間戳後 date('Y-m-d', $timestamp) 格式化。
single_month_title() 歸檔頁標題
single_month_title(' '); // 輸出:January 2024
single_month_title('文章歸檔: '); // 文章歸檔: January 2024