Follow $rss = fetch_feed('' . $instance["feed_address"] . '');
and find the function in wp-includes/feed.php
:
/**
* Build SimplePie object based on RSS or Atom feed from URL.
*
* @since 2.8
*
* @param string $url URL to retrieve feed
* @return WP_Error|SimplePie WP_Error object on failure or SimplePie object on success
*/
function fetch_feed($url) {
require_once (ABSPATH . WPINC . '/class-feed.php');
$feed = new SimplePie();
$feed->set_feed_url($url);
$feed->set_cache_class('WP_Feed_Cache');
$feed->set_file_class('WP_SimplePie_File');
$feed->set_cache_duration(apply_filters('wp_feed_cache_transient_lifetime', 43200, $url));
do_action_ref_array( 'wp_feed_options', array( &$feed, $url ) );
$feed->init();
$feed->handle_content_type();
if ( $feed->error() )
return new WP_Error('simplepie-error', $feed->error());
return $feed;
}
As you can see, fetch_feed()
may return a WP_Error object. So check it just below the call to this function:
$rss = fetch_feed('' . $instance["feed_address"] . '');
if ( is_wp_error( $rss ) )
{
// do something awesome
}
else
{
// print your feed items
// $maxitems = …
}