Convert WordPress fetch_rss to fetch_feed

I realised that I wasn't properly handling the return value on a feed I was grabbing to display the "Spiffy things from the Internet" section of the blog. I went to WordPress to look up the fetch_rss API details, only to find that it had been deprecated in WordPress 2.8.something. Being the ever-vigilant beacon of vigilance, I decided to covert my feed-fetching to feed_fetch. Here's what I had to do.

There's not much to it, for the simple stuff. But SimplePie (the rss class that feed_fetch uses) has a LOT of advanced options that you should check out. For a basic feed we just need to update a couple of calls.

From the old code:

<ul>
<?php
include_once(ABSPATH . WPINC . '/rss.php');
$rss = fetch_feed('http://feed_url_here');
foreach ( $rss->items as $item ) : 
?>
	<li>
		<a href='<?php echo $item['link']; ?>'>
			<?php echo $item['title']; ?>
		</a>
		<?php echo $item['summary']; ?>
	</li>
<?php endforeach; ?>
</ul>

To the new code:

<ul>
<?php 
$rss = fetch_feed('http://feed_url_here'');
foreach ( $rss->get_items() as $item ) : 
?>
	<li>
		<a href='<?php echo $item->get_permalink(); ?>'>
			<?php echo $item->get_title(); ?>
		</a>
		<?php echo $item->get_description(); ?>
	</li>
<?php endforeach; ?>
</ul>

All we have done is moved from array indexes ($item['title']) to class getters ($item->get_title()). And we're away! If you hunt through the SimplePie docs, you'll notice that there are options to set cache files, timeout times, content types etc... But don't worry about these: WordPress handles it in the fetch_feed wrapper it provides.