今の所、このブログのみの運用だけど いずれはテーマ毎に何種類かコンテンツを作成しようと思ってて サイトトップに更新情報 として RSS を元に投稿内容の概要を表示するよう構成中。
そんな中、ふと 一覧情報の日付を見てみると このブログでの投稿日とズレがある事に気づいた。そして、その時間差を計算してみると ぴったり 9時間 。
色々設定してると、この9時間 という数字を見ると ピーン! っとくるのよね。
そう、タイムゾーンの設定を 東京 にし忘れた時の初期設定 グリニッジ標準時 になってるんじゃないか?と・・・だがしかし、確かブログ設定の時 日付は変更したはずだなぁと
ダッシュボードの 「設定」 ⇒ 「一般設定」 ⇒ 「タイムゾーン」 を確認してみると ちゃんと ”東京” になってる模様。
そこで、グーグルさんに尋ねると なるほど!それっぽい事例がちゃんと出てる!ダッシュボードからの設定ではなく、設定ファイルを修正する必要があるようだ。
設定ファイルの編集
検索結果によると、
- wp-settings.php
- wp-includes/feed-rss2.php
の2ファイルの編集が必要らしい。
1. wp-settings.php の編集
インストールしたWordPressディレクトリ直下のwp-settings.php を開き、
date_default_timezone_set の ‘UTC’ を ‘Asia/Tokyo’ に変更
1 2 3 4 5 6 7 8 9 |
# vi wp-settings.php // WordPress calculates offsets from UTC. date_default_timezone_set( 'UTC' ); ↑変更前 ('UTC'となってる箇所を'Asia/Tokyo' に) ↓変更後 // WordPress calculates offsets from UTC. date_default_timezone_set( 'Asia/Tokyo' ); |
2. feed-rss2.php の編集
wp-includes ディレクトリ下にある feed-rss2.php を変更します。
(似たようなファイルがありますが、実際にRSSファイルを作成しているのは feed-rss2.php のようです)
<lastBuildDate> の2箇所を下のように、 +0900 と ‘blog’ に変更。
1 2 3 4 5 6 7 |
# vi wp-includes/feed-rss2.php <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false); ?></lastBuildDate> ↑変更前 (+0000 を +0900 に変更。 'GMT' を 'blog' に変更) ↓変更後 <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s +0900', get_lastpostmodified('blog'), false); ?></lastBuildDate> |
続けて、こちらも変更
<lastBuildDate> の2箇所を下のように +0900 と false に変更。
1 2 3 4 5 |
<pubDate><?php echo mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false); ?></pubDate> ↑変更前 (+0000 を +0900 に変更。 true を falseに変更) ↓変更後 <pubDate><?php echo mysql2date('D, d M Y H:i:s +0900', get_post_time('Y-m-d H:i:s', false), false); ?></pubDate> |
確認作業
変更した後に、なにかの記事を投稿して RSSフィードを表示して確認してみましょう。時間は+0900になってるハズです。