WordPressに外部RSSを取得し表示させる:XML_RSS編

かなり前に、WordPressに外部サイトのRSSを取得し表示させようと、こんな記事を書いていました。

e2esound.com:WordPressで外部RSSを取得して表示させる

書いたのは2008年ということで、これはまだWordPressをいじり始めて3ヶ月くらいのヘッポコもヘッポコな頃のものでございます。その後、PHPも勉強していることですし、今回は別の方法として、PEARライブラリを使用した方法を紹介します。

PEARライブラリのうち、XML_RSSを使用します。lolipopではデフォルトでインストールされていますが、他のサーバーの方はPEARライブラリのインストールと使用方法を確認して下さい。

サクッと作るとこのようになります。流れているRSSのタイトル+リンクを表示しています。


<?php
//文字コード指定
//header("Content-Type: text/html; charset=UTF-8");

//対象のRSS
$url = "http://feeds.feedburner.jp/e2esound/Izak";
require_once('XML/RSS.php');

//インスタンス化
$rss = new XML_RSS($url);
$rss->parse();

echo "<h1>外部サイトのRSSを取得し表示する</h1>";

$items = $rss->getItems();

echo "<ul>";
//$itemsの配列が空ではない場合
if(!empty($items)){
    foreach($items as $item){
      echo "<li><a href=\"".$item['link']."\">".$item['title'].
      "</a></li>";
    }
}else{
//$itemsの配列が空の場合
echo "<li>No Contents</li>";
}

echo "</ul>";

//End of File.

あれ?以前のものよりも分かりやすいような。

  1. PEARをrequire_once()
  2. インスタンス化
  3. $rss->parse()
  4. $rss->getItems()で結果を取得
  5. 表示させる

尚、表示する内容を変更する場合には、$itemsの中身をvar_dump()し表示項目を追加してあげれば問題ありません。例えばdescriptionなら$item[‘description’]など。

以上のコードも、使用頻度が高いならWordPressのfunctions.phpに書いて関数かした方がイイかも。

[追記]
タイトルにWordPressと書きましたが、普通にPHPで動きます。

コメントを残す

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