function fetch($url, $params = array()) { if (is_wp_error($url)) { // Let's bounce. return $url; } $force_feed = true; // Default // Allow user to change default feed-fetch timeout with a global setting. Props Erigami Scholey-Fuller <http://www.piepalace.ca/blog/2010/11/feedwordpress-broke-my-heart.html> 'timeout' => $timeout = FeedWordPress::fetch_timeout(); if (!is_array($params)) { $force_feed = $params; } else { // Parameter array $args = wp_parse_args(array('force_feed' => $force_feed, 'timeout' => $timeout), $params); extract($args); } $timeout = intval($timeout); $pie_class = apply_filters('feedwordpress_simplepie_class', 'SimplePie'); $cache_class = apply_filters('feedwordpress_cache_class', 'WP_Feed_Cache'); $file_class = apply_filters('feedwordpress_file_class', 'FeedWordPress_File'); $parser_class = apply_filters('feedwordpress_parser_class', 'FeedWordPress_Parser'); $sniffer_class = apply_filters('feedwordpress_sniffer_class', 'FeedWordPress_Content_Type_Sniffer'); $feed = new $pie_class(); $feed->set_feed_url($url); $feed->set_cache_class($cache_class); $feed->set_timeout($timeout); $feed->set_content_type_sniffer_class($sniffer_class); $feed->set_file_class($file_class); $feed->set_parser_class($parser_class); $feed->force_feed($force_feed); $feed->set_cache_duration(FeedWordPress::cache_duration()); $feed->init(); $feed->handle_content_type(); if ($feed->error()) { $ret = new WP_Error('simplepie-error', $feed->error()); } else { $ret = $feed; } return $ret; }
function fetch($url, $force_feed = true) { $feed = new SimplePie(); $feed->set_feed_url($url); if (version_compare(SIMPLEPIE_VERSION, '1.3-dev', '>')) { $feed->set_cache_location('wp-transient'); $feed->registry->register('Cache', 'WP_Feed_Cache_Transient'); $feed->registry->register('File', 'FeedWordPress_File'); } else { $feed->set_cache_class('WP_Feed_Cache'); $feed->set_file_class('FeedWordPress_File'); } $feed->set_content_type_sniffer_class('FeedWordPress_Content_Type_Sniffer'); $feed->set_file_class('FeedWordPress_File'); $feed->force_feed($force_feed); $feed->set_cache_duration(FeedWordPress::cache_duration()); $feed->init(); $feed->handle_content_type(); if ($feed->error()) { $ret = new WP_Error('simplepie-error', $feed->error()); } else { $ret = $feed; } return $ret; }