WordPress中the_date()转换为自定义字符串失败问题排查
问题解决:WordPress日期输出异常及数组键未定义错误
问题根源
the_date() 是WordPress的直接输出函数,它会立即打印日期内容,而不会将日期字符串返回给变量。你把它赋值给$date_time时,变量实际为空,这就导致:
- 日期先被直接输出,随后才打印你拼接的
On和at,出现顺序混乱的2023-10-24 09:37On explode(" ", $date_time)拆分的是空字符串,数组$date_arr没有有效元素,触发Undefined array key 1警告
解决方案
改用get_the_date()函数,它会返回日期字符串而非直接输出,让你可以自由控制输出逻辑:
方案1:拆分日期时间后拼接
<?php $date_time = get_the_date('Y-m-d H:i'); $date_arr = explode(" ", $date_time); echo "On " . $date_arr[0] . " at " . $date_arr[1]; ?>
方案2:直接分别获取日期和时间(更简洁)
<?php echo "On " . get_the_date('Y-m-d') . " at " . get_the_date('H:i'); ?>
补充说明
你之前尝试分开调用the_date('Y-m-d')和the_date('H:i')也无效,原因是:
the_date()默认在同一页面中,若多篇文章日期相同,只会输出一次- 它依然是直接输出,无法控制内容的拼接顺序
内容的提问来源于stack exchange,提问作者Forseti93
相关产品推荐
相关产品推荐

