WordPress:デフォルトタイムゾーンが無効です

 WordPressのセッティングの話。

 WordPressのダッシュボードにサイトヘルスステータスと言う項目がいつの間にかありました。

 どうやらWordPress5.2から追加されたサイトヘルスという機能の、ダッシュボード項目らしいです。

 そこに警告が出ていたのですね。

デフォルトタイムゾーンが無効です

 と、サイトヘルス画面に出ていました。

 なんでもdate_default_timezone_setで無効にされているとか。二重にセットされていて、それが問題のように見えました。

 微妙に心当たりが。

 スマホのWordPressアプリに下書き保存すると、その時間が投稿時間になるというクセ(バグ?)があり、後でパソコン側で加筆修正して投稿すると、過去の時間の投稿になってしまうと言う現象があったのです。

 もしかしてタイムゾーン設定のせいかなと最初思って、調べたところ、wp-settings.phpのdate_default_timezone_setの行を変えれば良いと言う情報があったので、

 date_default_timezone_set(‘ UTF ‘)を
 date_default_timezone_set(‘ UTF+9 ‘)

 にしていたのですが、これを元の「UTF」に直したら解決し、警告がでなくなりました。

WordPressのタイムゾーンを設定はなぜか二箇所ある……

 調べてみると、WordPressのタイムゾーン設定は

  • WorePress本体>設定>一般>タイムゾーン設定
  • wp-settings.phpの、date_default_timezone_set(‘ UTF ‘)の一行

 この二つがありました。

 他にもPHPの関数でやる方法もあるらしいのですが、それは置いておきます。

 なぜ二つあるのかは、調べてみても良く分からず。どっちでも設定できると言う情報もあるし。うーん……。

 とりあえず、wp-settings.phpの方は放っておいて、本体で設定で「UTC+9」にしておくのが正解だと思います。

 以上、参考まで。