Variable Inspector allows you to easily inspect your PHP $variables in a visually clean manner at a central dashboard in wp-admin. It aims to be an easy and useful enough dev and debug tool.
It provides a single-line code to inspect your variable (see “How to Use” below). Nothing is shown to site visitors nor being output on the frontend, and the $variable content is nicely formatted for review using var_dump(), var_export() and print_r() on the inspector dashboard in wp-admin.
It’s a real time-saver for scenarios where Xdebug or even something like Ray is not ideal or simply an overkill. For example, when coding on a non-local environment via tools like Code Snippets, WPCodeBox, Scripts Organizer or Advanced Scripts. Additionally, because it is a regular WordPress plugin, you simply install, activate and use without the need for complicated configuration.
What Users Say
“Works great! Love this thing.” ~Josh
“Every developer need it. You can debug easily every variable.” ~Pexle Chris
“All I need. Enough to test the function of snippets. Works flawless.” ~@tesig
“It does what it does very well, and doesn’t try to do everything.” ~@swb1
How to Use
Simply place the following line anywhere in your code after the
$variable_name you’d like to inspect:
do_action( 'inspect', [ 'variable_name', $variable_name ] );
If you’d like to record the originating PHP file and line number, append the PHP magic constants
__LINE__ as follows.
do_action( 'inspect', [ 'variable_name', $variable_name, __FILE__, __LINE__ ] );
This would help you locate and clean up the inspector lines once you’re done debugging.
- A nice review would be great!
- Give feedback and help improve future versions.
- Github repo to contribute code.
- Sponsor my work with as little as USD 1 monthly or one-time.
If you need something more versatile for larger, more complex projects, these PRO features might come in handy:
- vi( $variable ) inspector to replace the do_action() above and automatically includes the file path and line number. Or, use vis( $variable_name, ‘variable_name’ ) when inspecting in/via code snippets plugins (Code Snippets, WPCodeBox, Scripts Organizer, etc.) or custom code module of page builders (Bricks, Oxygen Builder, etc.)
- dump_print_r and dump_print_tree viewers: both viewers combines var_dump and print_r, with the later allowing for collapsing and expanding data nodes, which is especially useful for inspecting long and complex arrays and objects.
- kint viewer: an advanced viewer with table view for multi-dimensional arrays, node access path info, capability to search inside variables, pop-up window viewing and advanced info for your complex objects, e.g. available methods and static class properties.
- Categorize and filter results by color. This, for example, allows you to categorize $variables according to which stage they’re in inside your code.
- Add counter or notes to inspection results. Another way to tag $variables and provide context for the inspection results.
- Search filter: easily find certain $variables by name and type.
- View up to 250 results. The free version is limited to 25 results.
- Individual and bulk deletion of results. Easily clean up your inspection dashboard from obsolete results you no longer need to reference.
Click here to see a screenshot of the PRO version or see below in the screenshots section.
What PRO Users Say
“I was looking for a tool like this for a while. Great solution! Love this thing.” ~Marco Frodl
“I have used it for a couple of days and it has helped me a lot to go faster when debugging.”” ~Javier Sor
“I’ve only just started using it and it really helps me get my head around the code of a plugin I’m trying to customise” ~Tim Dickinson
“I’ve been testing it and I really like it. It helps a lot and saves a lot of time in development. It’s also compatible with Oxygen, Bricks, WPCodeBox, etc.” ~Juan Jose Gonzalez, oxygenados.com
“I just bought this! Great plugin – thank you for the hard work!” ~Tim Dickinson
“I used to use Ray locally, I’m also using Xdebug a lot .. if I need to debug some variables, I use Query Monitor. I bought this, because the UI is nice, it has all those good features from both worlds.” ~Peter Morvay
“Worth the buy! It is really good… great for debugging. Specially, when you want to write custom code or understand some snippet ChatGPT gave you.” ~John D
Check These Out Too
- Admin and Site Enhancements helps you to easily enhance various admin workflows and site aspects while replacing multiple plugins doing it.
- System Dashboard: Central dashboard to monitor various WordPress components, processes and data, including the server.
- Code Explorer: Fast directory explorer and file/code viewer with syntax highlighting.
- Flexible Scroll Top and Floating Share Buttons is a lightweight combo with minimalist UI.
- WordPress Newsboard: The latest news, articles, podcasts and videos from 100+ WordPress-focused sources.
How was this plugin built?
Variable Inspector was built with: WordPress Plugin Boilerplate | wppb.me | Simple Accordion | Fomantic UI. It was originally inspired by WP Logger.
Contributors & Developers
“Variable Inspector” is open source software. The following people have contributed to this plugin.Contributors
Translate “Variable Inspector” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Sponsor Variable Inspector
If this plugin has been useful for your personal project(s), paid dev work, client site(s) and or agency’s workflow, please kindly consider sponsoring from as little as USD 1 (monthly or one-time). You can also choose to upgrade to the PRO version. Thank you!
- Fix JS syntax error rendering inspection dashboard disfunctional. Props to @chillifish for reporting it.
- Add handling for null type / value
- Added link to changelog in footer
- [PRO] Feedback link in header no longer links to wordpress.org support forum. It now links to the contact form within wp-admin.
- [PRO] Fixed: space in vis() inspector’s second parameter no longer causes JS error and prevents variable content from loading. This is handled by converting space to underscore, e.g. ‘the variable’ will show up as $the_variable in the inspection result accordion.
- [PRO] Fixed: special characters inside the ‘notes’ parameter in vi() and vis() inspectors are now handled better and won’t cause JS error.
- [PRO] Fixed: JS error “Maximum call stack size exceeded” when performing ajax actions, e.g. generate sample results, refrehs, etc.
- [PRO] kint viewer: now will properly show $variable_name when getting the access path info of each node in the inspection result
- [PRO] Make the style of NULL results uniform across var_dump_r, var_dump_tree and kint viewers
- [PRO] Added vis() inspector for inspecting $variables via code snippets plugins or custom code modules of page builders
- Remove freemius SDK from free version
- Add identification and labeling of ‘float’ / ‘double’ variable type
- Add results counter. Shown next to the ‘Results’ heading.
- Added modal window for sponsorship
- Launch of PRO version. To find out and/or upgrade, simply click on the green ‘Upgrade’ button in the inspection dashboard. Lifetime license is available.
- Improve escaping of variables with string type. Preventing inspector layout / HTML output interferrence, especially when the string contains HTML tags.
- Clean up and polish inspector dashboard UI. Remove separator lines.
- Update shortlinks on the dashboard.
- Limit height of each result’s content and add scroll bar when content is taller than the limit. This should prevent very long result content from occupying the screen.
- Change background color of each result’s content to white for better readability.
- Add button to easily generate sample results. Useful for first-time installation.
- Overall UI/X polish which includes adding loading animation on button clicks, improved auto-refresh UI, improved readability of variable type labels and ensure preferred/chosen viewer is effective/respected after varioius clicks / interaction with the inspection dashboard.
- Change ‘Donate’ (PayPal) link to (Github) ‘Sponsor’ link. Do consider sponsoring the continued development of Variable Inspector.
- Add link to WordPress Newsboard in footer, a WordPress news aggregator site I’ve maintained since 2014.
- Integrate Freemius SDK in preparation for Pro version.
- Move storage of preferred inspection method from wp_options to user meta.
- Fix an issue where sometimes inspection shows empty or false result when result type is array or object.
- Additional suppression of admin notices via all_admin_notices hook and via CSS.
- All admin notices are now suppressed, i.e. no longer shown, on the Variable Inspector page.
- Add viewer (function) selector, e.g. print_r, that will apply to all inspection results after the selection is made and will persist after page reload. The selection is stored in wp_options table. Different viewer can still be selected for each result. Props to @pexlechris for the feedback.
- Add toggle to expand or collapse all inspection results. Props to @pexlechris for the feedback.
- Remove CodeStar framework dependency and replace with lightweight solution
- Dequeue public css and js files as they are empty and unused
- Add Refresh button and “Auto refresh” checkbox to load latest results. Props to @imantsk for the code and suggestion
- Add quick tutorial on the inspector results page to enable users to quickly reference the inspector code
- Confirmed compatibility with WordPress 6.0
- Fixed output via var_export()
- Better sanitization of variable name output
- Update plugin description
- Fixed output buffering mistake causing the output of the ‘1’ character in variable values
- NEW: implement tabbed output of var_export, var_dump and print_r
- Fixed “Fatal error: Uncaught Error: Call to undefined function dbDelta()”. Thanks to @rashedul007 for the fix!
- Initial stable release