WordPress 3.4.1 でTimezoneが9時間ずれる

この記事を読むのに必要な時間は約 3 分です。

time9

以前にも書きましたがWPを2.9以降に更新するとTimezoneがUTC(世界協定時刻)に統一される為、日本では9時間ずれてしまいます。

その為、時間に依存したサービスにエラーの出る場合があります。
私の環境では「wp to twitter」がそうでした。

最近のUP DATEでは3.4→3.4.1と2回 UP DATEされましたが、いずれの場合もwp-settings.php も更新されてしまうので、設定を変更している人は、もう一度、36、37行目をコメントアウトする必要があります。

//default timezone in PHP 5.
#if ( function_exists( 'date_default_timezone_set' ) )
#  date_default_timezone_set( 'UTC' );

少しめんどくさいので、 日本版を配布の際、なんとか対処して欲しいものです。ボケーっとした顔

【追記】

WPをバージョンUPしたところ、またしても元に戻ってしまいました。
毎回変更を加えるのも面倒なのでテーマの function.php に
date_default_timezone_set( ‘Asia/Tokyo’ );
を書き加えることで退避するようにしました。

【2014-03-02 追記】
WordPressでは、ローカル日時を取得する場合 date() の代わりに date_i18n() を使用します。

例:< ?php echo date_i18n( $dateformatstring, $unixtimestamp, $gmt ) ?>

関数リファレンス/date i18n – WordPress Codex 日本語版に解説されています。
この記事はあくまでも回避策です。9時間ずれているプラグインのコードはdate関数にこのdate_i18n() を使用していません。コードを書き換えれば9時間のズレは解消できます。
(※date_i18n()はwp-includes/function.phpにて定義されています。)

【2017-03-23 追記】
最近のWordPressのバージョンアップにより上記問題は解消されました。
テーマのfunction.phpでdate_default_timezone_set( ‘Asia/Tokyo’ ); を書き加えていましたが、削除しました。そのままだと9時間進んでしまいます。