Moral Hazard!!

ドラマーが音楽やホームページやガラクタを作るよ。

wordpressで管理画面に設定しているタイムゾーンとずれる問題

No Comment wordpress,駄日記,

2.7くらいからアップデートして使っているwordpressの管理画面でタイムゾーンの設定を「'UTC+9'」(日本時間)にしているのに、タイムゾーンがUTC(グリニッジ標準時)のまま。query_postsで投稿を直接日時指定しても上手く反映されない困った。

wordpressのフォルダ直下「wp-settings.php」が

// WordPress calculates offsets from UTC.
date_default_timezone_set( 'UTC' );

と、UTCのままになっていることがある。
これを

// WordPress calculates offsets from UTC.
date_default_timezone_set( 'UTC+9' );

にすることで、日本時間になる・・・のだが!

wp-settings.phpはコアファイルなので勿論アップデート時には上書きされてしまう。
なので上記方法はNG。

hetemlなどのtimezoneを変更できない&UTCのレンタルサーバーは、date関数をwordpress内で用意された
「date_i18n」
という関数に置き換える事で解決できる。