Debug Bar Shortcodes adds a new panel to the Debug Bar that displays the registered shortcodes for the current request.
Author: | Juliette Reinders Folmer (profile at wordpress.org) |
WordPress version required: | 3.6 |
WordPress version tested: | 4.4.2 |
Plugin version: | 2.0.3 |
Added to WordPress repository: | 22-12-2013 |
Last updated: | 30-04-2016
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 100 |
Rated by: | 3 |
Plugin URI: | https://wordpress.org/plugins/debug-bar-short... |
Total downloads: | 24 440 |
Active installs: | 80+ |
Click to start download |
Screenshots
Debug Bar displaying Shortcodes
Debug Bar displaying Shortcodes on web front-end singular
Debug Bar Shortcodes - Example of detailed information about a shortcode if provided by the author
Debug Bar Shortcodes - Example of detailed information about a shortcode based on information retrieved from the shortcode documentation
Debug Bar Shortcodes - Example of shortcode usage found throughout the site
Can it be used on a live site ?
This plugin is only meant to be used for development purposes, but shouldn’t cause any issues if run on a production site.
What are shortcodes ?
A shortcode is a WordPress-specific code that lets you do nifty things with very little effort. Shortcodes can embed files or create objects that would normally require lots of complicated, ugly code in just one line. Shortcode = shortcut.
Source
For more information about using shortcodes in WordPress:
– WP Codex on shortcodes
– WP Codex on the Shortcode API
Why is my shortcode not listed ?
There are two possibilities here:
- Either your shortcode has not been properly registered using the ShortCode API.
- Or your shortcode might only be registered conditionally and the current page does not meet those conditions.
The number of shortcodes differs depending on the requested page. How come ?
See the previous answer.
I’m using shortcode *abc* in page *xyz* and it doesn’t show as used!
To determine whether a shortcode is used in a page, only the post content is evaluated. If you add content to the page using shortcodes in other areas (for example: widgets) or via the theme, those uses will not be recognized.
Can I use these shortcodes in the theme I’m building ?
Generally speaking you can. However, don’t forget to always check whether the shortcode is registered before you use it! It may not be available on all pages and surely not on all WP installs.
if ( shortcode_exists( 'shortcode' ) ) {
/* Your code here */
// echo do_shortcode( 'some content containing a [shortcode /]' );
}
I’m a developer and would like to enrich the information displayed by this plugin about my shortcode.
I’ve tried to make this as easy and painless as possible.
Just add a filter to enrich the information this plugin has about your shortcode. The easiest way is to use the db_shortcodes_info_{shortcode}
filter which will only be applied to your shortcode.
add_filter( 'db_shortcodes_info_{your_shortcode}', 'filter_my_shortcode_info' );
function filter_my_shortcode_info( $info ) {
// enrich the object
return $info;
}
The $info
object you receive and are expected to return will contain the currently known information about the shortcode.
$info is expected to contain (a selection of) the following parameters:
stdClass(
$name = (string) 'Friendly name for your shortcode',
$description = (string) 'Description of your shortcode',
$self_closing = (bool) true/bool, // whether the shortcode is self-closing
$parameters = array(
'required' => array(
(string) 'attribute_name' => (string) 'attribute description',
),
'optional' => array(
(string) 'attribute_name' => (string) 'attribute description',
),
),
$info_url = '',
)
If you happen to already provide similar information using the sim_{shortcode}
filter for the LHR-Shortcode list plugin, no need to do anything extra, that information will be picked up by this plugin.
Similarly, if you provide information for the Shortcake/Shortcode UI feature plugin, that information will be used automatically to enrich the available information.
Hang on – the filter behaviour has changed ?!?
In version 1.0 of the plugin $info
variable passed to the filter was an array. This has changed in version 2.0.
I’m aware that this is a backward compatibility break, but I’ve done some quite extensive searches and considering I did not find any plugin using the filter (yet), I decided this backward compatibility break would have little to no effect and therefore would be safe to implement.
If you did already have a filter in place, sorry I didn’t find your plugin/theme! Not to worry though, I’ve tried to make it really easy to upgrade your code.
First off, you’ll need to change the add_filter()
hook in code and your function signature to now received two variables. The first variable will be the new object, but the second variable will still be an array in the format which was passed in 1.0 so you can continue to use that in your function to enrich the information.
Secondly, as all this plugin uses are the properties of the object, you can just cast your array to an object in the return and it’ll work again.
Old code for v1.0:
add_filter( 'db_shortcodes_info_{your_shortcode}', 'filter_my_shortcode_info' );
function filter_my_shortcode_info( $info ) {
// enrich the array
return $info;
}
Updated code for v2.0:
add_filter( 'db_shortcodes_info_{your_shortcode}', 'filter_my_shortcode_info', 10, 2 );
function filter_my_shortcode_info( $info_object, $info ) {
// enrich the array
return (object) $info;
}
Why won’t the plugin activate ?
Have you read what it says in the beautifully red bar at the top of your plugins page ? As it says there, the Debug Bar plugin needs to be active for this plugin to work. If the Debug Bar plugin is not active, this plugin will automatically de-activate itself.
2.0.3 (2016-04-29)
- Make loading of text-domain compatible with use of the plugin in the
must-use
plugins directory. - Minor housekeeping.
- Tested & found compatible WP 4.5.
2.0.2 (2016-01-10)
- Fix spinner for ajax request which had stopped working since WP 4.2.
2.0.1 (2015-12-26)
- Fix weird table layout on front-end in combination with Twenty-Sixteen theme.
2.0 (2015-12-14)
IMPORTANT: if you are a plugin/theme developer and you were using the 'db_shortcodes_info_{your_shortcode}'
filter: the behaviour of this filter has changed from passing an array, to passing an object. Please read the FAQ for information on how to deal with this change !
- Enhancement: Added support for shortcode information available through Shortcake.
- Enhancement: At least try and detect the plugin url if more than one plugin was found in the same directory.
- Bug Fix: Information was not obtained for shortcodes with a closure as callback. (Reflection object was not obtained for closures.)
- Compatibility fix: Minor html change to fix layout for WP 4.4.
- Usability: Improved table header alignment.
- Usability: Row actions now visible on hover over row, not just title.
- Usability: Improved compatibility with Glotpress / WP translations.
- Minor housekeeping.
- Tested & found compatible WP 4.4.
1.0.3 (2014-12-18)
- Added: more detailed information about the WP native
playlist
shortcode. - Tested & found compatible WP 4.1.
1.0.2 (2014-09-05)
- Fix compatibility with the Plugin Dependencies plugin.
- Tested & found compatible WP 4.0.
1.0.1 (2014-04-19)
- Fixed: better finding of shortcodes within post content.
- Fixed: minor html error.
- Fixed: minor PHP error.
1.0 (2013-12-22)
- Initial release.