コアソースを改変すると、WordPress のアップデートが面倒になります。
以下にコアソースを修正しないでもフィードテンプレートを変更する方法をエントリしてありますので、そちらを参照してください。 (追記: 2009年11月10日)
「犬小屋にて – Feed 配信がどうもおかしい。」を読んで気づいたのだが、WordPress 2.3.3 で配信されているフィードの日付がおかしい。
で、ソースを見てみたところ mysql2date()
に渡している第1引数がおかしい。
これは、PHP の date()
関数に渡す日付文字列の書式を与えなければならないのだが、Wordpress のソース上では 'D, d M Y H:i:s +0000'
となってしまっている。
GMT との時差をセットしたいのであれば 'D, d M Y H:i:s O'
(最後はアルファベット大文字のO) にしなければならない。
修正が必要なファイルは wp-includes/feed-rss.php, wp-includes/feed-rss2.php, wp-includes/feed-rss2-comments.php
の3ファイル。
修正箇所は、以下の4箇所。
#他にもあるかもですが (^^;;
feed-rss.php(13): <lastBuildDate><?php echo mysql2date('D, d M Y H:i:s O', get_lastpostmodified(), false); ?></lastBuildDate>
feed-rss2.php(20): <pubDate><?php echo mysql2date('D, d M Y H:i:s O', get_lastpostmodified(), false); ?></pubDate>
feed-rss2.php(29): <pubDate><?php echo mysql2date('D, d M Y H:i:s O', get_post_time('Y-m-d H:i:s', false), false); ?></pubDate>
feed-rss2-comments.php(42): <pubDate><?php echo mysql2date('D, d M Y H:i:s O', get_comment_time('Y-m-d H:i:s', false), false); ?></pubDate>
Newf さん、はじめまして。
こちらこそ、そちらのエントリを読むまでは気にもしてませんでした (^^;;
ME 2.2.3 のソースでは "D, d M Y H:i:s O" となってるんですけどね。まぁ、そのうち直るでしょう。
先日はトラックバックありがとうございました。さっそく参考にして修正させてもらいました 😀
しかし、毎度アップデートのたびに修正しないといけないのは面倒ですね。WP 側で対応してくれればいいんですが……。