This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Debug Toolkit

Description

Debug Toolkit makes debugging your code easier and more enjoyable. It provides you with interactive and helpful tools:

  • Better PHP error interface from (Whoops)
  • Better variable inspection – no need to use var_dump, print_r, or X-debug
  • An interactive way to back trace the program’s execution order

Better PHP Error Interface from Whoops

The built-in PHP error container is basic and not as helpful as it could be. On top of that, it’s rather ugly. Wouldn’t you agree?

Whoops gives you a cool interface that is helpful, interactive, and quite nice to look at. Some features:

  • Provides the error message and links to search Google, DuckDuckGo, and Stack Overflow.
  • Shows the actual code where the error occurred.
  • Provides an interactive call stack. Click each and the actual code appears in the viewer panel.
  • Environment and details including GET Data, POST Data, Files, Cookie, Session, Server/Request Data, Environment Variables, and Registered Handlers.

See the tools in action in this video

Better Variable Inspection

Though X-debug is powerful, it can be difficult to set up and run. For that reason, it’s common to dump or print out the variable to browser. But the built-in display for the PHP var_dump and print_r is basic.

This plugin includes both two very popular variable dumper tools:

VarDumper provides a simple container that displays where you place it.

On the other hand, Kint provides a more powerful interface that gives you more information such as printing out the expression that was passed into it, the data type, memory size, and the value.

To make it even easier, the following utility functions are available for you to use in your code:

Available Functions for Inspecting Variable Values

Let’s explore the functions that are available for you through this plugin. We’ll use the variable inspectors to dump global $post.

Note: You can pass in any variable or function that returns a value.

Dumps the given variable(s):

global $post;

// VarDumper
vdump( $post );

// Kint
dump( $post );

Dumps the given variable(s) and then exits the program’s execution:

global $post;

// VarDumper
vdump_and_die( $post );

// Kint
dump_and_die( $post );

In addition, there are alias (shorthand) functions available for you if you prefer shorter function names:

  • vd() is an alias for vdump()
  • vdd() and vdd() are aliases for vdump_and_die()
  • d() is an alias for dump()
  • dd() and ddd() are aliases for dump_and_die()

Tracing Call Stack

When debugging, there are times when you need to see the order in which functions were called that lead to a certain point in the program. PHP offers a backtrace that traces back the execution order from the point when the function is invoked.

To make backtracing easier, this plugin provides you with a trace() function and combines it with the variable inspect functions.

For example, if you wanted to trace the call stack to the start of the loop in your theme’s functions.php file, you could use this code:

add_action( 'loop_start', function() {
    trace();
} );

Available Trace Functions

Place these functions at the point where you want to trace the call stack.

  • trace();
  • trace_vdump(); – Combines trace() and vdump()
  • trace_dump(); – Combines trace() and dump()
  • trace_vdump_and_die(); – Combines trace() and vdump_and_die()
  • trace_dump_and_die(); – Combines trace() and dump_and_die()

In addition, there are alias (shorthand) functions available for you if you prefer shorter function names:

  • tracevd(); – Combines trace() and vd()
  • traced(); – Combines trace() and d()
  • tracevdd(); – Combines trace() and vdd()
  • tracedd(); – Combines trace() and dd()
  • tracevddd(); – Combines trace() and vddd()
  • traceddd(); – Combines trace() and ddd()

Admin Bar

“DEBUG ACTIVE” indicator displays in the WordPress admin bar to alert you when the plugin is active.

Screenshots

  • The better PHP error interface from Whoops.
  • The results of running vdump() and vdump_and_die().
  • The results of running dump() and dump_and_die().
  • The results of running trace().

Installation

From your WordPress dashboard

  1. Visit ‘Plugins > Add New’
  2. Search for ‘Debug Toolkit’
  3. Activate Debug Toolkit from your Plugins page.

FAQ

How do I use this utility?

When you are testing or debugging your code, you can use any of the functions above in place of var_dump( $var ) and print_r( $var ). No need to wrap it in pre’s either.

What version of PHP do I need?

PHP 5.6, 7.0, 7.1, 7.2, and up.

Can I run this on a live site?

I wouldn’t unless you are testing. This tool is for debug only. Once you push the site live, deactivate and delete this plugin.

What should I do when the site goes live?

Deactivate and delete this plugin.

Reviews

دسمبر 10, 2022
One of my favourite plugin. Helps a lot with development and debugging. Please keep it update or if we could get a chance to contribute we would love that.
دسمبر 12, 2019
For so long I have been trying to figure out a way to debug my PHP in WordPress similar to how the JS console works (being able to drill down into objects and arrays). I have no idea how much work Tonya put into this, but I am forever indebted! Thank you so much! I wish i could send you a gift basket or make a donation.
جُلائی 4, 2019
Makes debugging super easy, particularly for people like me—just starting out in WordPress development. Turn it on, and immediately the errors become apparent.
Read all 13 reviews

Contributors & Developers

“Debug Toolkit” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Debug Toolkit” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

Version 1.0.1

  • Removed changing the admin color palette.
  • Removed changing the admin bar background color.

Version 1.0.0

  • First release