Developer Debug Mode
Stop editing wp-config.php every time you need to debug your WordPress site. Developer Debug Mode lets you toggle all WordPress debug constants directly from your dashboard with beautiful toggle switches. Changes save automatically — no clicking save buttons, no FTP access needed, no risk of syntax errors in your config file. 🎯 The Problem This Plugin Solves Every WordPress developer knows the pain: Something breaks on your site You need to enable WP_DEBUG to see the error You open FTP/File Manager, find wp-config.php, edit it carefully Debug the issue Remember to turn debug off before visitors see ugly error messages Repeat next time something breaks Developer Debug Mode eliminates steps 2-5 entirely. Toggle debug on, find the error, toggle off. Done in seconds. ✨ Key Features One-Click Debug Toggles Control all six WordPress debug constants from a clean, modern interface: WP_DEBUG — Master switch for WordPress debugging WP_DEBUG_LOG — Save errors to wp-content/debug.log WP_DEBUG_DISPLAY — Show errors on screen (careful on production!) SCRIPT_DEBUG — Use unminified core CSS/JS files SAVEQUERIES — Log database queries for performance analysis WP_DISABLE_FATAL_ERROR_HANDLER — See raw PHP fatal errors instead of recovery mode Admin Bar Quick Toggle (New in 1.2.0!) Toggle any debug constant directly from the WordPress admin bar — no need to visit the settings page. Perfect for quick debugging sessions. Built-in Debug Log Viewer View, search, download, and clear your debug.log without leaving WordPress: Color-coded entries (fatal, error, warning, notice) Search with highlighting Auto-refresh option for real-time monitoring One-click download and clear Auto-Save Technology Changes save instantly as you toggle. No save button, no page refresh, no waiting. Frontend Debug Warning A tasteful notification bar appears when WP_DEBUG_DISPLAY is active, reminding you to turn it off before visitors see error messages. Cross-Tab Synchronization Toggle debug in one browser tab and watch other open tabs update instantly. Automatic Backups Every change creates a backup of wp-config.php. The plugin keeps the 5 most recent backups, so you can always recover if something goes wrong. 🔧 Perfect For Theme developers debugging template issues Plugin developers testing new code Site administrators troubleshooting problems Agencies managing multiple client sites Freelancers who need quick debugging without FTP access Anyone tired of manually editing wp-config.php 💡 Why Choose Developer Debug Mode? Unlike other debug plugins, we focus on user experience: ✅ Instant toggles — No save buttons, changes apply immediately ✅ Visual feedback — Clear status indicators show exactly what’s enabled ✅ Admin bar access — Toggle debug from anywhere in WordPress ✅ Production-safe — Frontend warnings prevent accidentally exposing errors ✅ Modern design — Beautiful UI that fits naturally in your dashboard ✅ Lightweight — No bloat, loads only where needed 🔒 Built With Security In Mind Capability checks ensure only administrators can change settings Nonce verification on all AJAX requests Automatic wp-config.php backups before every change No data sent to external servers Clean uninstall removes all plugin data 📚 Debug Constants Explained Not sure what each constant does? Here’s a quick guide: WP_DEBUG The master switch. When enabled, WordPress will display PHP errors, notices, and warnings. Required for the other debug constants to work. WP_DEBUG_LOG Saves all debug messages to /wp-content/debug.log. Essential for debugging issues that happen in the background (AJAX, cron jobs, REST API). WP_DEBUG_DISPLAY Shows errors directly on your web pages. Useful during development but never enable on production — it can expose sensitive information to visitors. SCRIPT_DEBUG Forces WordPress to use the development versions of core CSS and JavaScript files instead of minified versions. Helpful when debugging scripts. SAVEQUERIES Stores database queries in a global array for later analysis. Useful for identifying slow queries but adds overhead — disable when not needed. WP_DISABLE_FATAL_ERROR_HANDLER Disables WordPress’s “recovery mode” so you see the actual PHP fatal error instead of “There has been a critical error on this website.” 🤝 Support & Documentation Need help? We offer: Free Support — Post in the WordPress.org support forum Documentation — Visit glimbyte.ie for guides and tutorials Express Support — Fast turnaround for urgent issues via glimbyte.ie/support 🌐 Works Great With Query Monitor — Use alongside for deeper debugging Debug Bar — Compatible with Debug Bar and its add-ons Any caching plugin — Clear cache after toggling debug constants Managed WordPress hosts — Works on most hosts including Kinsta, WP Engine, SiteGround Credits Developed with ❤️ by Glimbyte — WordPress Development & Support. Special thanks to the WordPress community for feedback and suggestions. Privacy Policy Developer Debug Mode does not collect, store, or transmit any personal data. All settings are stored locally in your WordPress database and wp-config.php file. The optional support contact form (available in the plugin settings) sends data directly to Glimbyte’s support team. This data is handled according to Glimbyte’s Privacy Policy. Additional Info Contribute Found a bug or have a feature request? We’d love to hear from you! Support Forum: wordpress.org/support/plugin/developer-debug-mode Website: glimbyte.ie Translations Want to help translate Developer Debug Mode into your language? Visit translate.wordpress.org to contribute.
Query Monitor
Query Monitor is the developer tools panel for WordPress and WooCommerce. It enables debugging of database queries, PHP errors, hooks and actions, block editor blocks, enqueued scripts and stylesheets, HTTP API calls, and more. It includes some advanced features such as debugging of Ajax calls, REST API calls, user capability checks, and full support for block themes and full site editing. It includes the ability to narrow down much of its output by plugin or theme, allowing you to quickly determine poorly performing plugins, themes, or functions. Query Monitor focuses heavily on presenting its information in a useful manner, for example by showing aggregate database queries grouped by the plugins, themes, or functions that are responsible for them. It adds an admin toolbar menu showing an overview of the current page, with complete debugging information shown in panels once you select a menu item. Query Monitor supports versions of WordPress up to three years old, and PHP version 7.4 or higher. For complete information, please see the Query Monitor website. Here’s an overview of what’s shown for each page load: Database queries, including notifications for slow, duplicate, or erroneous queries. Allows filtering by query type (SELECT, UPDATE, DELETE, etc), responsible component (plugin, theme, WordPress core), and calling function, and provides separate aggregate views for each. The template filename, the complete template hierarchy, and names of all template parts that were loaded or not loaded (for block themes and classic themes). PHP errors presented nicely along with their responsible component and call stack, and a visible warning in the admin toolbar. Usage of “Doing it Wrong” or “Deprecated” functionality in the code on your site. Blocks and associated properties within post content and within full site editing (FSE). Matched rewrite rules, associated query strings, and query vars. Enqueued scripts and stylesheets, along with their dependencies, dependents, and alerts for broken dependencies. Language settings and loaded translation files (MO files and JSON files) for each text domain. HTTP API requests, with response code, responsible component, and time taken, with alerts for failed or erroneous requests. User capability checks, along with the result and any parameters passed to the capability check. Environment information, including detailed information about PHP, the database, WordPress, and the web server. The values of all WordPress conditional functions such as is_single(), is_home(), etc. Transients that were updated. Usage of switch_to_blog() and restore_current_blog() on Multisite installations. In addition: Whenever a redirect occurs, Query Monitor adds an HTTP header containing the call stack, so you can use your favourite HTTP inspector or browser developer tools to trace what triggered the redirect. The response from any jQuery-initiated Ajax request on the page will contain various debugging information in its headers. PHP errors also get output to the browser’s developer console. The response from an authenticated WordPress REST API request will contain an overview of performance information and PHP errors in its headers, as long as the authenticated user has permission to view Query Monitor’s output. An an enveloped REST API request will include even more debugging information in the qm property of the response. By default, Query Monitor’s output is only shown to Administrators on single-site installations, and Super Admins on Multisite installations. In addition to this, you can set an authentication cookie which allows you to view Query Monitor output when you’re not logged in (or if you’re logged in as a non-Administrator). See the Settings panel for details. Browser extension Query Monitor is also available as an optional browser dev tools extension. This is an alternative to using the in-page panel that gets output into the admin toolbar. Using the browser extension has some advantages over the in-page panel: The Query Monitor panel doesn’t take up space within the page you are inspecting The panel can be resized, undocked, and moved around like any other developer tools panel Information about the Query Monitor browser extension can be found here. Other Plugins I maintain several other plugins for developers. Check them out: User Switching provides instant switching between user accounts in WordPress. WP Crontrol lets you view and control what’s happening in the WP-Cron system Thanks The time that I spend maintaining this plugin and others is in part sponsored by: Automattic ServMask WP Staging All my kind sponsors on GitHub Privacy Statement Query Monitor is private by default and always will be. It does not persistently store any of the data that it collects. It does not send data to any third party, nor does it include any third party resources. Query Monitor’s full privacy statement can be found here. Accessibility Statement Query Monitor aims to be fully accessible to all of its users. Query Monitor’s full accessibility statement can be found here.