WordPress 2.3.3 でフィードの日付がおかしい

コアソースを改変すると、WordPress のアップデートが面倒になります。
以下にコアソースを修正しないでもフィードテンプレートを変更する方法をエントリしてありますので、そちらを参照してください。 (追記: 2009年11月10日)

各種フィード用テンプレートの変更 : dogmap.jp

犬小屋にて – 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>


WordPress 2.3.3 でフィードの日付がおかしい」への2件のフィードバック

  1. をかもと 投稿作成者

    Newf さん、はじめまして。

    先日はトラックバックありがとうございました。さっそく参考にして修正させてもらいました

    こちらこそ、そちらのエントリを読むまでは気にもしてませんでした (^^;;

    ME 2.2.3 のソースでは "D, d M Y H:i:s O" となってるんですけどね。まぁ、そのうち直るでしょう。

    返信
  2. Newf

    先日はトラックバックありがとうございました。さっそく参考にして修正させてもらいました 😀
    しかし、毎度アップデートのたびに修正しないといけないのは面倒ですね。WP 側で対応してくれればいいんですが……。

    返信

コメントを残す

メールアドレスが公開されることはありません。