Donc vous savez comment Drupal a des fonctions dans des modules comme Devel qui vous permettent de générer des tableaux au format Nice comme dsm($array)
ou krumo($array)
... WordPress dispose-t-il d’une manière équivalente ou agréable d’afficher print_r($array)
?
J'ai créé un plugin Kint qui fonctionne vraiment bien. J'intègre également le plugin Debug Bar. Vous pouvez le télécharger sur: http://wordpress.org/extend/plugins/kint-debugger/
Il existe quelques fonctions pour vous aider avec les globales spécifiques à WordPress:
dump_wp_query()
dump_wp()
dump_post()
Pour imprimer des matrices dans un format pliable et stylé, procédez comme suit.
$foo_bar = array(
'foo' => 'bar',
'bar' => 'oof',
'rab' => 'foo'
);
d($foo_bar); //Styled
s($foo_bar); //Un-styled
Vous pouvez installer et utiliser Krumo avec WordPress (ou n’importe quelle application PHP vraiment). Il y a le plugin Hikari Krumo qui simplifie l'utilisation, mais vérifiez les commentaires, il y a une erreur que vous devrez corriger manuellement pour qu'il fonctionne avec le dernier WP. Il existe également le plugin WordPress Debug Bar qui pourrait vous être utile.
EDIT- Une autre option que j'ai découverte récemment, Kint ; capture d'écran:
Pour ce genre de choses, j'ai écrit REF (nécessite PHP 5.3). Parmi de nombreuses autres fonctionnalités, il affiche le contenu des commentaires DocBlock et lie les classes, méthodes et fonctions internes à PHP (les liens pointent vers le manuel PHP.). Il gère également les fonctions WordPress (les liens pointent vers queryposts.com ).
Voici le résultat de $GLOBALS
à l'étape setup
de WordPress en mode HTML (r($GLOBALS);
dans functions.php):
Aussi, vous pouvez utiliser le plugin Objets de débogage ; liste également les scripts et les styles. Le plugin a beaucoup plus d'options pour dev et le débogage, mais aussi cette fonctionnalité.
Alternative est cette source, vous trouvez des informations et le post sur ce sujet ici :
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;
// scripts
foreach ( $wp_scripts -> registered as $registered )
$script_urls[ $registered -> handle ] = $registered -> src;
// styles
foreach ( $wp_styles -> registered as $registered )
$style_urls[ $registered -> handle ] = $registered -> src;
// if empty
if ( empty( $handles ) ) {
$handles = array_merge( $wp_scripts -> queue, $wp_styles -> queue );
array_values( $handles );
}
// output of values
$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;
}
Pourquoi ne pas simplement utiliser xdebug?
Cela me semble très chouette, par défaut.
Il y a aussi Kint, http://code.google.com/p/kint/ mais j'ai trouvé les menus déroulants plus déroutants, puis la sortie complète de xdebug.
Si vous emballez simplement la print_r()
dans les balises <pre>
, le résultat sera magnifique. Si vous recherchez des diagnostics un peu meilleurs que cela, la boîte noire et la barre de débogage publiée par @Milo sont mes connaissances.