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コマンドで利用してください。