wp-includes/SimplePie/src/SimplePie.php:1645Initialize the feed object
bool public function init() { // Check absolute bare minimum requirements. if (!extension_loaded('xml') || !extension_loaded('pcre')) { $this->error = 'XML or PCRE extensions not loaded!'; return false; } // Then check the xml extension is sane (i.e., libxml 2.7.x issue on PHP < 5.2.9 and libxml 2.7.0 to 2.7.2 on any version) if we don't have xmlreader. elseif (!extension_loaded('xmlreader')) { static $xml_is_sane = null; if ($xml_is_sane === null) { $parser_check = xml_parser_create(); xml_parse_into_struct($parser_check, '<foo>&</foo>', $values); if (\PHP_VERSION_ID < 80000) { xml_parser_free($parser_check); } $xml_is_sane = isset($values[0]['value']); } if (!$xml_is_sane) { return false; } } // The default sanitize class gets set in the constructor, check if it has // changed. if ($this->registry->get_class(Sanitize::class) !== Sanitize::class) { $this->sanitize = $this->registry->create(Sanitize::class); } if (method_exists($this->sanitize, 'set_registry')) { $this->sanitize->set_registry($this->registry); } // Pass whatever was set with config options over to the sanitizer. // Pass the classes in for legacy support; new classes should use the registry instead $cache = $this->registry->get_class(Cache::class); \assert($cache !== null, 'Cache must be defined'); $this->sanitize->pass_cache_data( $this->enable_cache, $this->cache_location, $this->cache_namefilter, $cache, $this->cache ); $http_client = $this->get_http_client(); if ($http_client instanceof Psr18Client) { $this->sanitize->set_http_client( $http_client->getHttpClient(), $http_client->getRequestFactory(), $http_client->getUriFactory() ); } if (!empty($this->multifeed_url)) { $i = 0; $success = 0; $this->multifeed_objects = []; $this->error = []; foreach ($this->multifeed_url as $url) { $this->multifeed_objects[$i] = clone $this; $this->multifeed_objects[$i]->set_feed_url($url); $single_success = $this->multifeed_objects[$i]->init(); $success |= $single_success; if (!$single_success) { $this->error[$i] = $this->multifeed_objects[$i]->error(); } $i++; } return (bool) $success; } elseif ($this->feed_url === null && $this->raw_data === null) { return false; } $this->error = null; $this->data = []; $this->check_modified = false; $this->multifeed_objects = []; $cache = false;One change between 6.7.7 and 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
boolean to bool.verified against sourcesrc/wp-includes/SimplePie/src/SimplePie.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.