Fixing Elegant Themes "Creating default object from empty value" Warning

There was a minor bug in early versions of the update checking code used by Elegant Themes. Every so often an error appears in the WordPress Dashboard which looks something like:

Warning: Creating default object from empty value in C:\aggregate\wp-content\plugins\et-shortcodes\et-shortcodes.php on line 135

The issue has been fixed in many of Elegant Theme's products, such as the Divi Theme, but it persists in some, such as their shortcode and handheld plugins.

It is a relatively harmless issue which doesn't affect the running of the themes / plugins.

The issue is caused by this line of code (which you'll find in the file and at the line number mentioned in the warning message):

$last_update->last_checked = time();

It is attempting to set a property of the last_update object. The problem is that the last_update object hasn't been declared, so PHP is generating the warning to let the developers know that it is better to declare the object first.

So what can be done to fix it? Here are a few of options:

  • Check for updates from Elegant Themes. I've just checked and the plugins mentioned above are still affected, but maybe they'll be fixed in the future.
  • Disable warnings in PHP.ini. You can tell PHP not to show a message when warnings occur, by locating the following line in your PHP.ini file: "error_reporting = E_ALL" and changing it to "error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING"
  • Modify the line in the plugin / theme to be: @$last_update->last_checked = time();

This post may contain referral links which may earn a commission for this site

Divi Booster

Hundreds of new features for Divi
in one easy-to-use plugin

0 Comments

Submit a Comment

Comments are manually moderated and approved at the time they are answered. A preview is shown while pending but may disappear if your are cookies cleared - don't worry though, the comment is still in the queue.

Your email address will not be published. Required fields are marked *.