WordPressの仕様だ。「(int)current_time('timestamp')」でサイト設定のタイムゾーンでのタイムスタンプを得られるぞ。
定番ブログエンジンの「WordPress」では、PHPスクリプトで手軽にテーマやプラグインを作成出来る。そのときしばしば引っかかるのが、日付時刻関連処理のタイムゾーンだ。
PHPの関数「time」が返す現在時刻のタイムスタンプ(1970年1月1日0時0分0秒からの経過秒数)は、「php.ini」で設定されたタイムゾーンでのものになるはずなのだが、WordPressのテーマやプラグイン上ではUTC(協定世界時)になってしまい、日本時間と9時間のズレが生じてしまう。
ブログの設定画面のタイムゾーン設定欄に関係なくUTCになってしまうので奇妙に感じるが、現在のWordPressではこれが正式な仕様だ。
PHPでは、「date_default_timezone_set」関数で実行途中でタイムゾーンを変更できるが、他のプラグインで不具合が生じる恐れがあるので、避けた方がいい。少々面倒だが、「time()+9*60*60」のようにしてズレを修正しよう。
自作のテーマやプラグインを公開する場合は、サイトのタイムゾーン設定に従うようにしたい。この場合、「(int)current_time('timestamp')」を使おう。「current_time」はWordPressに用意されている関数で、サイト設定で指定したタイムゾーンでの現在時刻を取得できるぞ。
全世界1,000万以上ダウンロード超え!水分補給サポートアプリ最新作『Plant Nanny 2 - 植物ナニー2』が11/1より日本先行配信開始中
たこ焼きの洞窟にかき氷の山!散歩を習慣化する惑星探索ゲーム『Walkr』がアップデート配信&6/28までアイテムセール開始!
【まとめ】仮想通貨ビットコインで国内・海外問わず自由に決済や買い物ができる販売サイトを立ち上げる
「Z.com WordPress」は安心してカスタマイズしまくるための独自機能が充実!
【特集】WordPressの編集機能の不満を一挙に解消するQA集
WordPressのプラグインインストールでFTPアカウントの入力を不要にできないの?
【まとめ】手軽に使えてカスタマイズも楽々の「Z.com WordPress」でWebサイトを作ろう
WordPressを自分の理想のデザインに! 「テンプレート」と「ウィジェット」を変更する
WordPressサイトのURLを隅々まで徹底カスタマイズ!
