チーム・イクス ジムカーナ

外部RSSフィードをトップページへ表示

icon-rss

外部RSSフィードを表示する方法はGoogleなどで検索すると色々な方法があります。

最初はWord Pressの「 RSS Import 」というプラグインを使ったのですが、

このプラグインはRSSを読み込むのに、かなりの時差があったので却下しました。

そこでWordPress Codexの 関数リファレンス/fetch feed に紹介してあるコードを元に、プラグインを使わずにPHPにて、外部RSSフィードをまとめた一覧を20件、表示させてみました。

今回は5つのRSSフィードしか記載していないのですが、もちろんRSSフィードはさらに追加させて表示できます。

<div class="main_left_box1" style="height : 270px;overflow : scroll;">
<h2>モータースポーツ 最新ニュース</h2>
<?php iclude_once(ABSPATH . WPINC . '/feed.php');
$rss = fetch_feed(array(
'http://www.pheedo.jp/f/news_as_web',
//RSSフィード1

'http://playdrive.cocolog-nifty.com/blog/index.rdf',
//RSSフィード2

'http://www.rallyplus.net/rss/index.rdf',
//RSSフィード3

'http://www.plus-blog.sportsnavi.com/feed/centric/motor/rss2_0.xml',
//RSSフィード4

'http://rss.rssad.jp/rss/sanspo/sports/tokushu/sports-aspa.xml'
//RSSフィード5
));
if (!is_wp_error( $rss ) ) :
$rss->set_cache_duration(1800);
$rss->init();
$maxitems = $rss->get_item_quantity(20);
$rss_items = $rss->get_items(0, $maxitems);
date_default_timezone_set('Asia/Tokyo');
endif;
?>
<dl>
<?php if ($maxitems == 0) echo '<dt>No items.</dt>';
else
foreach ( $rss_items as $item ) : ?>
<dt>
<?php echo $item->get_feed()->get_title(); ?><br />
<a href='<?php echo $item->get_permalink(); ?>' target="_blank"><?php echo $item->get_title(); ?></a>
</dt>
<dd>(<?php echo $item->get_date("Y-n-j H:i:s"); ?>)</dd>
<?php endforeach; ?>
</dl>
</div>

<?php echo $item->get_feed()->get_title(); ?>
でサイトのタイトルを表示しました。

date_default_timezone_set(‘Asia/Tokyo’);
で日本時間になるようにしました。

<?php echo $item->get_date(“Y-n-j H:i:s”); ?>
で日付を表示しました。

$rss->set_cache_duration(1800); $rss->init();
WordPressではRSSフィードを表示されるまでに12時間かかるようです。
ここでキャッシュ速度を速めて表示されるようにしました。
(set_cache_durationの単位は秒です。)

すると、チーム・イクスのトップページに表示されて、とりあえずは満足です(^^)


このエントリをはてなブックマークに追加| このエントリをdel.icio.usに追加|

Fotolia

car car