2026年~新ブログに移行しました。以前のブログ記事は、サイトデザインが崩れていますが、徐々に修正中です
PR

RSSの記事投稿日がUTC?

WordPress

今の所、このブログのみの運用だけど いずれはテーマ毎に何種類かコンテンツを作成しようと思ってて  サイトトップに更新情報 として 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’ に変更

# 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’  に変更。

# 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 に変更。

<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になってるハズです。

コメント

タイトルとURLをコピーしました