MagpieRSSでWordPressのfeedを読み込んだ際に日付が1970/1/1になってしまう場合の対処方法

他のとあるサイトで、Wordpressが出力しているRSSを静的なHTMLページで表示させていたところ、いつの間にか日付表示部分が「1970/1/1」となっていました。あれ?何時の間に・・と思い、調べていると、利用していたMagpieRSSがRSS2.0に対応していないために起こるバグだったようです。

その対応策を探していると、以下のサイトでまさにその方法が紹介されていましたので、引用文となりますが、当サイトでも紹介しておきます。

日付が1970/1/1になってしまう場合

WordPressのブログの新着で、以前は大丈夫だったのに、あるときから日付が1970/1/1になってしまい困っいましたが、修正方法がわかったので追記します。

ここで紹介したスクリプト MagpieRSSは、RSS2.0に対応してないためにUNIXタイムスタンプ(1970/1/1からの積算秒数)がそのまま出てしまいます。
ということで、応急処置ですが$itemdayを下記に変更してください。

$itemday = date(‘Y/n/j’,strtotime(substr($item[‘dc’][‘date’],0,10)));

↑こちらが配布されているサンプルソース

$itemday = date(‘Y/m/d H:i’,strtotime($item[‘pubdate’]));

↑これがRSS2.0用です。

http://webnomori.net/howto/blog-01.php

WordPressと静的ページを共存させているサイトも多いと思いますが、パターンとして考えられるものの一つに、TOPページを含めたコンテンツはHTMLで作っているが、ブログだけはWordpressを利用しているという場合。この場合だと、TOPページの新着部分に、自分が書いたブログやニュースを自動的に表示させたいと考えることがあると思います。

その場合に利用すると便利なのが、今回ネタにした「MagpieRSS」です。WordpressのRSSだけでなく、Movable Typeや無料ブログ等のRSSを引っ張ってきて、表示させることができるので、非常に重宝している便利なプログラムです。

機会があれば当ページでも、詳しい設置の仕方を紹介したいと思います。

参考:MagpieRSS – PHP で使える RSS パーサー
http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク