Home » WordPress » WordPress2.8.4でRSSフィードの時刻修正+α

WordPress2.8.4でRSSフィードの時刻修正+α

WordPressのフィードはデフォルトでGMT(世界標準時)で配信されるので、これをJMT(日本時間+09:00)に修正する。ただし、Atom1.0・RSS0.92・RSS1.0・RSS2.0で表記が若干異なるので注意が必要になる。ついでに、更新間隔(updatePeriod)が1時間毎(hourly)の設定になっているので1日毎(daily)に修正する。

修正対象ファイルは/wp-includesにある以下の6ファイル。

  • feed-atom.php
  • feed-atom-comments.php
  • feed-rdf.php
  • feed-rss.php
  • feed-rss2.php
  • feed-rss2-comments.php

※修正に失敗しても良いようにバックアップを取っておくと気分的に楽です。

feed-atom.php(修正箇所は3行)


22行目

(変更前)mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false);
(変更後)mysql2date('Y-m-d\TH:i:s+09:00', get_lastpostmodified(), false);

41-42行目

(変更前)get_post_modified_time('Y-m-d\TH:i:s\Z', true);
(変更前)get_post_time('Y-m-d\TH:i:s\Z', true);
(変更後)get_post_modified_time('Y-m-d\TH:i:s+09:00', false);
(変更後)get_post_time('Y-m-d\TH:i:s+09:00', false);

feed-atom-comments.php(修正箇所は3行)

27行目

(変更前)mysql2date('Y-m-d\TH:i:s\Z', get_lastcommentmodified('GMT'), false);
(変更後)mysql2date('Y-m-d\TH:i:s+09:00', get_lastcommentmodified(), false);

68-69行目

(変更前)mysql2date('Y-m-d\TH:i:s\Z', get_comment_time('Y-m-d H:i:s', true, false), false);
(変更前)mysql2date('Y-m-d\TH:i:s\Z', get_comment_time('Y-m-d H:i:s', true, false), false);
(変更後)mysql2date('Y-m-d\TH:i:s+09:00', get_comment_time('Y-m-d H:i:s', false, false), false);
(変更後)mysql2date('Y-m-d\TH:i:s+09:00', get_comment_time('Y-m-d H:i:s', false, false), false);

feed-rdf.php(修正箇所は3行)

25行目

(変更前)mysql2date('Y-m-d\TH:i:s\Z', get_lastpostmodified('GMT'), false);
(変更後)mysql2date('Y-m-d\TH:i:s+09:00', get_lastpostmodified(), false);

27行目

(変更前)apply_filters( 'rss_update_period', 'hourly' );
(変更後)apply_filters( 'rss_update_period', 'daily' );

43行目

(変更前)mysql2date('Y-m-d\TH:i:s\Z', $post->post_date_gmt, false);
(変更後)mysql2date('Y-m-d\TH:i:s+09:00', $post->post_date, false);

feed-rss.php(修正箇所は1行)

18行目

(変更前)mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false);
(変更後)mysql2date('D, d M Y H:i:s +0900', get_lastpostmodified(), false);

feed-rss2.php(修正箇所は3行)

28行目

(変更前)mysql2date('D, d M Y H:i:s +0000', get_lastpostmodified('GMT'), false);
(変更後)mysql2date('D, d M Y H:i:s +0900', get_lastpostmodified(), false);

31行目

(変更前)apply_filters( 'rss_update_period', 'hourly' );
(変更後)apply_filters( 'rss_update_period', 'daily' );

39行目

(変更前)mysql2date('D, d M Y H:i:s +0000', get_post_time('Y-m-d H:i:s', true), false);
(変更後)mysql2date('D, d M Y H:i:s +0900', get_post_time('Y-m-d H:i:s', false), false);

feed-rss2-comments.php(修正箇所は3行)

31行目

(変更前)mysql2date('r', get_lastcommentmodified('GMT'));
(変更後)mysql2date('r', get_lastcommentmodified());

33行目

(変更前)apply_filters( 'rss_update_period', 'hourly' );
(変更後)apply_filters( 'rss_update_period', 'daily' );

53行目

(変更前)mysql2date('D, d M Y H:i:s +0000', get_comment_time('Y-m-d H:i:s', true, false), false);
(変更後)mysql2date('D, d M Y H:i:s +0900', get_comment_time('Y-m-d H:i:s', false, false), false);

今回の修正内容をパッチにしてみたのでpatchコマンドで利用してください。

トラックバック(0)
コメント(0)
コメントを投稿

※初回のみ承認されるまでコメントは反映されません

※Cookie無効の場合「書き込む」を押しても無反応ですが投稿は完了しています
(既に認証されていればコメントは反映されます)

Home » WordPress » WordPress2.8.4でRSSフィードの時刻修正+α