Wordpress - How to: inspect global variables in WordPress
Or, if you're lazy, just install the Debug Bar plugin.
It adds a button to the admin bar that, when clicked, reveals a panel with all kinds of useful information, including deprecation notices, WP_Query variables and an SQL query log.
How to inspect the data:
Use this to get an insight view of what you can use from the current request/wp_query.
function inspect_wp_query()
{
echo '<pre>';
print_r($GLOBALS['wp_query'])
echo '</pre>';
}
// If you're looking at other variables you might need to use different hooks
// this can sometimes be a little tricky.
// Take a look at the Action Reference: http://codex.wordpress.org/Plugin_API/Action_Reference
add_action( 'shutdown', 'inspect_wp_query', 999 ); // Query on public facing pages
add_action( 'admin_footer', 'inspect_wp_query', 999 ); // Query in admin UI
Btw:
// this:
global $wp_query;
$wp_query;
// is the same as
$wp_query;
// and as this:
$GLOBALS['wp_query'];
// You can do this with each other global var too, like $post, etc.
How to actually get the data:
// Example (not the best one)
(Object) WP_Query -> post (stdClass) -> postdata (Array)
// How to get the data:
// Save object into var
$my_data = new WP_Query; // on a new object
// or on the global available object from the current request
$my_data = $GLOBALS['wp_query'];
// get object/stdClass "post"
$my_post_data = $my_data->post;
// get Array
$my_post_data = $my_data['post'];
Examples
List all sidebar names?
(Generate a drop down/select object with all sidebars inside the
global $wp_registered_sidebars
)