WordPress sites can get complicated. With tens of thousands of different themes, and tens of thousands of plugins available, your site can have lots of different chefs in the kitchen – each adding their own
spice code to modify WordPress in some way.
Sometimes, the way these modifications were done, they can cause conflicts. This article will go over ways for you to debug your site to hopefully, at the very least, track down where the issue is originating from.
If you have access to your hosting account and can edit files, the first thing to do is to temporarily enable
WP_DEBUG mode. With this enabled, WordPress will be able to spit out some error messages, helping you figure out what the problem is and where it is coming from.
WP_DEBUG you will need to log into your host and find a file
wp-config.php, usually located in the same folder that WordPress is installed in (check the
In this file, look for a definition called
WP_DEBUG. It should be near the bottom of the file and look like
define('WP_DEBUG', false);. All you need to do is change
true and then save the file.
Now, if you go to the page with the error, you will hopefully see some error messages.
If you are not a coder, these messages will mostly look like gibberish to you, but the real value can be found by taking a look at the filename included in the message.
Notice: Trying to get property 'data' of non-object in domain.com/wp-content/plugins/example-plugin/file.php on line 15
You may have no idea what a ‘property’ is or what ‘non-objects’ are, but we can still use the file path to determine that this notice is coming from
file.php which is a plugin file for a plugin called
Just note that an error or notice doesn’t always mean that the error generator (the theme or plugin showing the message) is the cause. Sometimes other plugins can change core WordPress behaviour that other plugins rely on.
Finally, just remember to go back and edit
wp-config.php again to set
WP_DEBUG back to
false. You don’t want your site showing error messages to all visitors.
WordPress Debug Steps
If you were able to use the
WP_DEBUG method to track down where your errors are coming from, then a good test would be to deactivate the theme or plugin causing the errors to see if the problem is solved. If the issue is solved, then you can contact the authors of the offending theme or plugin and see if they can provide you with support. If not, you may need to consider looking for alternative options that do not have the offending error.
If you are still unable to track down where the error is coming from, then the best course of action is to play the elimination game.
Temporarily Switch Themes
Just to test, temporarily switch themes (preferably to a default WordPress theme such as Twenty-Twenty-Three) and see if the problem persists.
If the issue is no long present, then we know that the theme was the culprit. You will need to either change themes, or contact your theme developer for support.
If the issue persists even after changing themes, then there is a good chance that the issue is related to one of your plugins.
- Deactivate ALL plugins except the one you are testing and check to see if the issue remains.
- If plugin works, reactivate each plugin one-by-one, checking again each time until the issue returns.
- Once the issue returns, you will now know which was the offending plugin.
Contact Your Host
Some issues can be caused by your host, and thus only your host can fix for you. Somewhat common issues are file uploads or resource limits – issues that are usually host related.
For example, if you are having problems uploading files, this can be caused by your hosting account not having the proper PHP Extensions enabled, or the
tmp folder (folder where files are temporarily placed before being moved over to your main folder) being full, or even some security measures implemented by your host.
When all else fails, it’s always OK to ask your host for support. That’s part of what you pay them for, after all 🙂