Blog

RSSの修正

WordPressではRSSで出力される時間が標準時に設定されているため、
外部から時間を取得しようとすると時間が狂います。

これを解消するためにはいくつかのファイルを修正する必要があるようです。

以下参考サイト
http://karu.jp/w/51.html

参考サイトの記事では、ver2.5の修正ですが、ver2.7でもほとんど同じでした。

以下の赤い行を青い行と差し替え修正してください。

wp-includes/feed-atom.php の修正
23行目
<updated><?php echo mysql2date(’Y-m-d\TH:i:s\Z’, get_lastpostmodified(’GMT’)); ?></updated>
<updated><?php echo mysql2date(’Y-m-d\TH:i:s\Z’, get_lastpostmodified()); ?></updated>
42行目、43行目
<updated><?php echo get_post_modified_time(’Y-m-d\TH:i:s\Z’, true); ?></updated>
<published><?php echo get_post_time(’Y-m-d\TH:i:s\Z’, true); ?></published>
<updated><?php echo get_post_modified_time(’Y-m-d\TH:i:s\Z’, false); ?></updated>
<published><?php echo get_post_time(’Y-m-d\TH:i:s\Z’, false); ?></published>

wp-includes/feed-rdf.php の修正
26行目
<dc:date><?php echo mysql2date(’Y-m-d\TH:i:s\Z’, get_lastpostmodified(’GMT’), false); ?></dc:date>
<dc:date><?php echo mysql2date(’Y-m-d\TH:i:s\Z’, get_lastpostmodified(), false); ?></dc:date>
44行目
<updated><?php echo get_post_modified_time(’Y-m-d\TH:i:s\Z’, true); ?></updated>
<updated><?php echo get_post_modified_time(’Y-m-d\TH:i:s\Z’, false); ?></updated>

wp-includes/feed-rss2.php の修正
28行目
<pubDate><?php echo mysql2date(’D, d M Y H:i:s +0000′, get_lastpostmodified(’GMT’), false); ?></pubDate>
<pubDate><?php echo mysql2date(’D, d M Y H:i:s O’, get_lastpostmodified(), false); ?></pubDate>
39行目
<pubDate><?php echo mysql2date(’D, d M Y H:i:s +0000′, get_post_time(’Y-m-d H:i:s’, true), false); ?></pubDate>
<pubDate><?php echo mysql2date(’D, d M Y H:i:s O’, get_post_time(’Y-m-d H:i:s’, false), false); ?></pubDate>

wp-includes/feed-rss2-comments.php の修正
30行目
<pubDate><?php echo gmdate(’r'); ?></pubDate>
<pubDate><?php echo date(’r'); ?></pubDate>
52行目
<pubDate><?php echo mysql2date(’D, d M Y H:i:s +0000′, get_comment_time(’Y-m-d H:i:s’, true), false); ?></pubDate>
<pubDate><?php echo mysql2date(’D, d M Y H:i:s O’, get_comment_time(’Y-m-d H:i:s’, false), false); ?></pubDate>

wp-includes/feed-rss.php の修正
19行目
<lastBuildDate><?php echo mysql2date(’D, d M Y H:i:s +0000′, get_lastpostmodified(’GMT’), false); ?></lastBuildDate>
<lastBuildDate><?php echo mysql2date(’D, d M Y H:i:s O’, get_lastpostmodified(), false); ?></lastBuildDate>

なお、「’」が全角になっていますがこれはWordPressが半角を全角に変換しているようです。
よってそのままコピペするのではなく、しっかり「’」を半角に置き換えましょう。
あと中途半端に改行されてて見辛いかもですがご了承ください;

コメント / トラックバック 2 件

  1. WordPress RSSフィード時刻の修正

    WordPressで投稿した記事をRSSリーダで見ると、9時間ずれていることを発見。
    どうやら’GMT’で表示してしまうらしい。
    インターネットで検索していたら、以下のサイトに対処法を発…

  2. [...] http://www.tree-of-courage.net/blog/archives/124 古い記事へ Copyright (C) 2011 fukuoka hiroki. All Rights Reserved. [...]

コメントをどうぞ

Calendar
2012 年 2 月
« 1 月    
 1234
567891011
12131415161718
19202122232425
26272829  
Archive
Category
Other