WordPressで一部スクリプトが9時間ズレる場合の対応

WordPressを2.9にしてから、投稿などのタイプスタンプは正しいのに、内部で動かしているスクリプトの時間だけが9時間ズレるという現象が起こった。例えば、日付が変わったら表示を変えるスクリプトを書いても、午前9時にならないと変わらない。アクセスカウンタもリセットされない。最初はサーバ側のタイムゾーン設定を疑ったが、確認してもおかしくないし、WordPress上のスクリプトだけが狂う。

調べてみると、スクリプトの日付/時刻関数で使用されるデフォルトタイムゾーンが、UTC(協定世界時)になったため。最新の3.0.1でもそのままなので、対応が必要だ。方法は次の4つ。

Continue reading