ワードプレスの時間が9時間ずれる問題
ワードプレスのプラグインや、テーマを使用していて時間が9時間ずれて表示されたりする場合は2つほど原因があります。
1 ワードプレスの言語設定が日本語ではない
2 テーマやプラグインでdate()が使われている
それぞれにつきまして対処方法を解説いたします。
1 ワードプレスの言語設定が日本語ではない
ワードプレスの時間は、サイトの言語設定やタイムゾーン設定から取得されます。言語が日本語でない場合、サイトの標準時が別の国の設定や標準時が使われている可能性がございます。
こちらをご確認ください。
2 テーマやプラグインでdate()が使われている
1の設定をされても時間がずれる場合は、テーマやプラグインでdate()という一般的な時間算出のプログラムが利用されている可能性がございます。
ワードプレスではdate()は必ず標準時を返すようになっており、ワードプレス上でローカル時間を算出するには、独自関数である date_i18n()を利用します。
例 date_i18n('Y-m-d H:i:s')
上記のように、date()の部分を書き換えることでワードプレスの設定時間でローカル時間を出力できるようになります。
またワードプレスには、標準時からget_date_from_gmtという時間のフォーマットを変更する関数もありますが、このような場合でもローカル時間を算出するにはdate_i18nを利用する必要がありますので注意が必要です。
$mydate=get_date_from_gmt( date_i18n( 'Y-m-d H:i:s', $unixtimestump ), 'Y/m/d H:i:s' );