WebLabyrinth site image

WebLabyrinthWebに関する様々なメモや個人的実験を行うサイトです

Navi box open

WordPressでセットしたタイムゾーンを取得して外部PHPで使用する方法

WordPressに連携させたプログラムで、外部RSS情報を取得して出力するようなプラグインを作ろうとしてハマってしまったので、ここにメモを残します。

ハマった内容とは、WordPress内で動くテンプレートからAjaxのPHP経由でRSS情報を取得するときに、記事の時間に9時間のズレが生じてしまった。というものでした。

date_default_timezone_set('Asia/Tokyo');

良くある対策方法としては、上記のように動作させるPHP内に date_default_timezone_set でタイムゾーンを設定してやればOKなのですが、せっかくWordPressを使用しているのであれば、ダッシュボードの「設定」→「一般」で設定したタイムゾーンを動的に流用できればと思い、以下のようなコードを組んでみました。

require("./wp-load.php");// WordPress管轄外でもWordPress関数を使えるようにする。
$this_timezone = get_option('timezone_string');// WordPressで設定したタイムゾーンを呼び出す。(文字列)
// ↑設定~一般のタイムゾーン項目で「東京」としていれば、「Asia/Tokyo」という文字列が呼び出されます。
date_default_timezone_set($this_timezone);// 呼び出したタイムゾーンの文字列を代入する。

get_option(‘timezone_string’) を使用すると、WordPressの「設定」→「一般」内のタイムゾーンで設定した情報が呼び出されます。
東京とセットしていれば、”Asia/Tokyo” という文字列が呼び出されます。

こうすることで、9時間のずれも解消され、WordPress内のタイムゾーンを変更することで、日本国外でも対応させることが可能になります。

個人的には、国内以外のタイムゾーンを使用するなんてシチュエーションに遭遇することはないと思いますが、メモとして情報をシェアしておきます。

この記事を書いた人

ニックネーム: SHIBAZAKI
ブログ: https://weblabyrinth.net

北海道旭川市でweb関係のお仕事をしています。

Trackback URL

https://weblabyrinth.net/use-wordpress-time-zone-outside/trackback/

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください