How to troubleshoot plugin issues

The great thing about the WordPress ecosystem is that there’s tons of plugins, themes, and other code floating around. Developers of all skill levels are encouraged to contribute. When you use a plugin, it works alongside all your other plugins. If one plugin breaks or changes expected behavior, it affects other plugins too. The dilemma with plugin development is that, if my plugin breaks, it may actually be due to someone else’s code.

1. Ensure that WP and plugins are up-to-date

Keep your plugins up-to-date. With the advent of 1-click updates, there’s no excuse not to. If you’re using an old plugin version and come across some bugs, the odds are that those bugs have been fixed in the latest version.

2. Temporarily disable all other plugins

Did that fix the issue? If yes, re-activate your other plugins, one at a time, until you are able to experience the issue again. Once you find the problematic plugin, notify both plugin authors of the finding.

3. Temporarily switch the theme

Once in a while, an issue stems from custom code within the active theme’s functions.php file. Try switching to the stock twentytwelve theme. If the issue disappears, you know where to look.

4. Check the browser console and turn on WP_DEBUG

Many plugins rely on JavaScript to function properly. If one plugin triggers a JavaScript error, then code from other plugins may not run properly. Modern browsers have a console window that outputs JavaScript errors. In Chrome, hit F12,¬†click the “Console” button, and refresh the page in question.

chrome-console

WordPress also includes some lightweight PHP debugging. Within wp-config.php, set the ‘WP_DEBUG’ constant to true. This will display any PHP warnings that wouldn’t otherwise appear. As always, report all findings to the plugin developer.

define('WP_DEBUG', true); // if WP_DEBUG already exists, set it to true

5. Provide plenty of details

Reporting only that a plugin “doesn’t work” is evil. Don’t do it. Without providing additional details, there’s absolutely nothing we can do to help. The more information you provide, the better. This includes steps to reproduce the issue, and bonus points for a screencast or screenshots. Providing version information (below) also allows us to test for compatibility issues.

WordPress 3.5
PHP 5.4.10
nginx/1.2.6
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11

--- Active Plugins ---
Custom Field Suite 1.8.1
Custom Post Type UI 0.7.2
Stripe Donations 1.0.2

The Custom Field Suite plugin makes this step easy. Go into Field Groups > Tools, click on the Debug tab, then simply send the contents of the subsequent box.

Summary

Remember, developers are here to help. It’s in our best interest. As Jerry Maguire said it best, “Help me help you!”