Sign inDocsBlogAboutSupportContact
Tools

Catch PHP errors without touching wp-config.php

Toggle error capture on. Browse your site. See every warning, notice, and fatal right inside WordPress.

4 min read May 2026 debug mode

Something broke. Where's the error?

A plugin update broke the checkout page. A theme change caused a white screen on mobile. A client reports "something looks wrong" but the page loads fine in your browser.

PHP errors are happening on the frontend, but WordPress doesn't show them to you. To find them, you need to SSH into the server, edit wp-config.php, add WP_DEBUG constants, reload the page, read a raw log file, then remember to undo it all when you're done.

That's a lot of steps for "show me what's broken."

What most people do instead

Each approach has a catch that makes it harder than it should be.

Edit wp-config.php manually Requires FTP or hosting panel access. A typo in this file takes the entire site offline. Easy to forget to turn off.
Read debug.log on the server No formatting. No severity grouping. Grows indefinitely. Requires server access to read.
WP_DEBUG_DISPLAY = true Shows raw PHP errors to every visitor on the site. On production, this exposes file paths and internal logic.

A better way: toggle, browse, read

Open the navigator. Type debug mode. Hit enter. Debug capture is now on.

Browse your frontend pages. Come back and run the command again. Every PHP error, warning, notice, and deprecated call is listed inside the navigator, color-coded by severity, newest first.

TrueCommander
Debug active · 5 errors
WARNING 3 entries
NOTICE 1 entry
Function WP_Scripts::add was called incorrectly. T... 1m ago
DEPRECATED 1 entry
Download log

Shown in advanced mode, where commands start with tp. In easy mode you type the same command without the tp prefix.

Your visitors never know. Errors are captured silently server-side. Nothing is printed to the page. No file paths exposed. No performance impact.

How it works

Three-step debugging loop, entirely from the admin.

1
Enable capture Run debug mode to start. PHP error handlers register on every frontend page load.
2
Browse your site Visit any frontend page. Errors, warnings, notices, and deprecated calls are logged silently.
3
Read or export the log Run the command again to see results. Download the log as a text file to share with a developer.
DetailValue
Command namedebug mode
Enabledebug mode (toggles on)
Disabletp debug mode -off
Clear logtp debug mode -clear
Log capacity50 entries, 1-hour auto-expiry
CapturesFatal, Error, Warning, Notice, Deprecated
ScopeFrontend page loads only (not admin or AJAX)
Can be used in

Real example

A client updates their theme on a WooCommerce store. Everything looks fine on the homepage, but individual product pages take 4 seconds longer to load than before.

You open the navigator and run debug mode. Then you open a product page in another tab. Back in the admin, you run the command again.

Result: 3 errors captured. Two are DEPRECATED calls to get_page_by_title() in the theme's breadcrumb function. One is a WARNING from a missing product attribute the theme expects. The deprecated function triggers a fallback query on every product page. That's the 4-second penalty.

You fix the breadcrumb function, clear the log with tp debug mode -clear, reload the product page, and check again. Zero errors. Page load is back to normal. Total debugging time: 6 minutes.

Goes further with TrueCommander

Quick debugging from the admin. Combine it with other commands for a full diagnostic workflow.

Frequently asked questions

Ready?

Find the error before your visitors do.

This is one of 91 commands. All included with every license.

Cookies. The short version.

Essential cookies keep the cart and theme working. Analytics only fire if you say yes. Read our policy.