Красивый вывод массивов с помощью print_r
Вы знаете, как в Drupal есть функции в модулях типа Devel, которые позволяют красиво выводить массивы, например dsm($array)
или krumo($array)
... Есть ли в WordPress аналогичная функция или удобный способ отображения print_r($array)
?

Я создал плагин Kint, который отлично работает. Он также интегрируется с плагином Debug Bar. Вы можете скачать его по ссылке: http://wordpress.org/extend/plugins/kint-debugger/
Есть несколько функций, которые помогут вам работать с глобальными переменными WordPress:
dump_wp_query()
dump_wp()
dump_post()
Для вывода массивов в стилизованном, сворачиваемом формате используйте следующий код:
$foo_bar = array(
'foo' => 'bar',
'bar' => 'oof',
'rab' => 'foo'
);
d($foo_bar); //Стилизованный вывод
s($foo_bar); //Не стилизованный вывод

Вы можете установить и использовать Krumo с WordPress (или любым другим PHP-приложением). Существует плагин Hikari Krumo, который упрощает использование, однако проверьте комментарии там - есть ошибка, которую нужно исправить вручную для работы с последней версией WP. Также есть WordPress плагин Debug Bar, который может оказаться полезным.
РЕДАКТИРОВАНО - Еще один вариант, который я недавно обнаружил - Kint; скриншот:

Для таких задач я написал REF (требуется PHP 5.3). Помимо множества других функций, он отображает содержимое DocBlock-комментариев и создаёт ссылки на внутренние классы, методы и функции PHP (ссылки ведут на руководство PHP). Также он обрабатывает функции WordPress (ссылки ведут на queryposts.com).
Вот вывод $GLOBALS
на этапе setup
WordPress в HTML-режиме (r($GLOBALS);
в functions.php):

Кажется, отображается у меня. Я добавил новый, чтобы отразить последние обновления этого скрипта

Если просто обернуть print_r()
в теги <pre>
, вывод будет красиво отформатирован. Если вам нужно что-то более функциональное для диагностики, то black box и панель отладки, упомянутая @Milo, — мои основные инструменты.

Также вы можете использовать плагин Debug Objects, который также выводит список скриптов и стилей. Этот плагин предлагает множество других возможностей для разработки и отладки, включая данную функцию.
Альтернативный вариант — использовать этот исходный код (информацию и публикацию по теме можно найти здесь):
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;
// скрипты
foreach ( $wp_scripts -> registered as $registered )
$script_urls[ $registered -> handle ] = $registered -> src;
// стили
foreach ( $wp_styles -> registered as $registered )
$style_urls[ $registered -> handle ] = $registered -> src;
// если пусто
if ( empty( $handles ) ) {
$handles = array_merge( $wp_scripts -> queue, $wp_styles -> queue );
array_values( $handles );
}
// вывод значений
$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;
}

Почему бы просто не использовать xdebug?
Выглядит довольно удобно из коробки.
Есть также Kint, http://code.google.com/p/kint/, но я нашел выпадающие меню более запутанными, чем полный вывод xdebug.
