WordPressからのメールで時刻が正しく表示されない

時刻がずれる事象

ブログに問い合わせフォームなどを作って、そこから自分にメールを飛ばすように設定されている方も多いと思います。
また、ブログを書いている方でWordPress(ワードプレス)を使用されている方も多いと思います。

その問い合わせなどから送信されるメールの時刻がなぜかずれていませんか?
この画像のような感じで。
ちなみにこの画像はこのブログの問い合わせから自分あてに送ったメールです。ちなみに21時が正しい時間です。

メールのヘッダーを確認してもDateの時間がずれていることが確認できます。

ちなみにメールヘッダー内の「Received:」 内にある時刻は正しい時刻になっています。
これはメールサーバが受信した時刻です。(複数あるのは経由したサーバ分表示されています。)
メールを送信した時にセットされた時刻(送信時刻)が「Date」の時刻になります。

原因は?

この原因はWordPressの時刻設定がUST(協定世界時)になっているからなんです。
協定世界時とはヨーロッパ方面の時刻で、日本はそれより9時間進んでいます。

WordPressが世界中で使用されているはずですので、初期設定がこのようになっているのでしょう。

直し方

では、どこを直すか?

答えは「wp-settings.php」ファイルを修正します。このファイルのみです。
このファイル内の50行目付近にある以下の部分を修正します。

修正前
// WordPress calculates offsets from UTC.
date_default_timezone_set( ‘UTC‘ );

修正後
// WordPress calculates offsets from UTC.
date_default_timezone_set( ‘JTC‘ );

実際の操作

以下の画面はレンタルサーバがエックスサーバー(Xserver)の場合ですが、
他のレンタルサーバでも同じように修正してください。

ファイルマネージャにログインします。

次にWordPressのルートディレクトリ(ほとんどの方は、”/ドメイン名/public_html/”)に行きます。
その中にあるwp-settings.phpファイルを選択します。

最後にファイルの中の該当箇所を修正し、保存して終了です。
(画面は修正後です。)

修正後の確認

再度、問い合わせから自分あてに送ってみました。
バッチリ、時刻が一致していることが確認できました。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です