Modalitate elegantă de a afișa array-uri cu print_r
Am creat un plugin Kint care funcționează foarte bine. Se integrează și cu plugin-ul Debug Bar. Îl poți descărca de la: http://wordpress.org/extend/plugins/kint-debugger/
Există câteva funcții care te ajută cu variabilele globale specifice WordPress:
dump_wp_query()
dump_wp()
dump_post()
Pentru a afișa array-uri într-un format stilizat și collapsibil, poți face următoarele:
$foo_bar = array(
'foo' => 'bar',
'bar' => 'oof',
'rab' => 'foo'
);
d($foo_bar); //Stilizat
s($foo_bar); //Ne-stilizat

Puteți instala și utiliza Krumo cu WordPress (sau orice altă aplicație PHP). Există plugin-ul Hikari Krumo care simplifică utilizarea, dar verificați comentariile de acolo, există o eroare pe care va trebui să o reparați manual pentru a funcționa cu ultima versiune de WP. Există și plugin-ul WordPress Debug Bar care v-ar putea fi util.
EDIT - O altă opțiune pe care am descoperit recent, Kint; captură de ecran:

Pentru acest gen de lucruri, am scris REF (necesită PHP 5.3). Printre multe alte caracteristici, afișează conținutul comentariilor DocBlock și transformă în linkuri clasele, metodele și funcțiile interne PHP (linkurile trimit către manualul PHP). De asemenea, gestionează funcțiile WordPress (linkurile trimit către queryposts.com).
Iată rezultatul $GLOBALS
în etapa setup
a WordPress în modul HTML (r($GLOBALS);
în functions.php):

Pare să apară pentru mine. Am adăugat unul nou pentru a reflecta ultimele actualizări ale acestui script

Dacă doar înfășurați print_r()
în tag-uri <pre>
, va afișa frumos. Dacă căutați o diagnosticare puțin mai bună decât aceasta, cutia neagră și bara de depanare postate de @Milo sunt opțiunile mele preferate.

De asemenea, poți folosi pluginul Debug Objects; listează și scripturile și stilurile. Pluginul are multe alte opțiuni pentru dezvoltare și depanare, dar și această funcționalitate.
Alternativă este această sursă, găsești informații și postarea despre acest subiect aici:
add_action('wp_footer', 'fb_urls_of_enqueued_stuff');
add_action('admin_footer', 'fb_urls_of_enqueued_stuff');
function fb_urls_of_enqueued_stuff( $handles = array() ) {
global $wp_scripts, $wp_styles;
// scripturi
foreach ( $wp_scripts -> registered as $registered )
$script_urls[ $registered -> handle ] = $registered -> src;
// stiluri
foreach ( $wp_styles -> registered as $registered )
$style_urls[ $registered -> handle ] = $registered -> src;
// dacă este gol
if ( empty( $handles ) ) {
$handles = array_merge( $wp_scripts -> queue, $wp_styles -> queue );
array_values( $handles );
}
// afișare valori
$output = '';
foreach ( $handles as $handle ) {
if ( ! empty( $script_urls[ $handle ] ) )
$output .= $script_urls[ $handle ] . '<br />';
if ( ! empty( $style_urls[ $handle ] ) )
$output .= $style_urls[ $handle ] . '<br />';
}
echo $output;
}

De ce să nu folosești direct xdebug?
Mi se pare destul de elegant în mod implicit.
Există și Kint, http://code.google.com/p/kint/ dar am considerat meniurile derulante mai confuze decât afișajul complet al xdebug.
