Fixed SimplePIe – RSSウィジェットの日付の不具合を修正する


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の不具合ではありません。

ダウンロード

最新版のダウンロード


One thought on “Fixed SimplePIe – RSSウィジェットの日付の不具合を修正する

  1. Pingback: WordPress 3.0 以降で RSS を一覧にする方法 | ウェブル

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>