I’m trying to create a Widget in WordPress, and I’m running into an issue creating a SimpleXMLElement object.
Here is the code:
namespace GenieKnows_Search;
class GenieKnows_Search_Widget extends WP_Widget {
//Constructor
function __construct() {
parent::__construct('genieknows_search_widget', 'GenieKnows_Search_Widget');
}
//Irrelevant Code. Removed for readability.
//Return the XML
function retrieve_gk_xml() {
$xml = new SimpleXMLElement($this->create_gk_xml(), 0, true); //Line 114
return $xml->xpath('/feed/results/sponsored/listing');
}
}
Here is the error:
PHP Fatal error: Class ‘GenieKnows_SearchSimpleXMLElement’ not found
in
/var/www/myticketpick.com/wp-content/plugins/genieknows-search/genieknows_search.php
on line 114
It would appear that it’s trying to look for the SimpleXML class inside of my GenieKnows_Search namespace, however I’m at a loss as to why.
Any ideas on why this error is occurring, and how I can fix it?
The fix was that I needed to add a forward slash () in front of SimpleXmlElement:
As outlined here.
If you are using
PHP 5.6
, Try:pip install php-simplexml
/pip install php-xml
My app was crashing without any error reports. Finally figured out it was this.
On Ubuntu, run
sudo apt install php-xml
.