WordPressのサイドバーウィジェットのRSSを使用すると、各記事の日付がGMTで表示されてしまい、9時間ずれてしまいます。
実際には日付のみの表示なので分かりにくいのですが。。。
このプラグインはその不具合を修正するためのものです。
仕様
WordPressでは、RSSフィードのパースにSimplePieというクラスを使用しています。
このクラスは、RSSの各記事の日付をPHPのタイムゾーン設定に基づいて処理していますが、WordPressではwp-settings.phpに以下のような記述があり、内部的にはUTCで処理しています。
// Set default timezone in PHP 5.
if ( function_exists( 'date_default_timezone_set' ) )
date_default_timezone_set( 'UTC' );
このプラグインでは、class-simplepie.phpに以下のような修正を加えることで、日付がずれる不具合を解消しています。
修正前(3630行目)
return date($date_format, $this->data['date']['parsed']);
修正後(3630行目)
return date($date_format,
$this->data['date']['parsed']+3600*get_option('gmt_offset'));
なお、この不具合はWordPress固有のものであり、SimplePieの不具合ではありません。
Pingback: WordPress 3.0 以降で RSS を一覧にする方法 | ウェブル