WordPress已设布里斯班时区,加载wp-load.php后为何重置为UTC?
WordPress自定义脚本时区被重置为UTC的问题
我在WordPress中编写的自定义脚本,原本要在特定日期的特定时间触发动作,但实际触发时间晚了约10小时。我所在时区为GMT+10,推测是系统运行在UTC时区导致,但不清楚具体原因。
我已经在WordPress后台将时区设置为澳大利亚布里斯班(GMT+10),并编写了测试脚本排查:
<?php echo date('Y-m-d H:i:s') . PHP_EOL; require_once('wp-load.php'); echo date('Y-m-d H:i:s') . PHP_EOL; date_default_timezone_set('Australia/Brisbane'); echo date('Y-m-d H:i:s') . PHP_EOL;
输出结果:
2022-11-23 06:00:19 //[GMT +10] 2022-11-22 20:00:19 //[UTC] 2022-11-23 06:00:19 //[GMT +10]
从输出结果可以看出:脚本默认时区正确,但引入wp-load.php后时区被重置为UTC,必须手动调用date_default_timezone_set才能恢复正确时区。
请问为何WordPress后台已正确设置布里斯班时区,却仍会将时区重置为UTC?

内容的提问来源于stack exchange,提问作者PavKR
相关产品推荐
相关产品推荐

