Иногда возникает необходимость вывести все хуки, которые сработали на конкретной странице сайта WordPress. Для реализации данной задачи подходит следующая фукнция:
/**
* Ввести все хуки на текущей странице.
*/
function show_all_hooks() {
if (!current_user_can('manage_options')) return;
$hook_names = array();
$hooks = $GLOBALS['wp_filter'];
foreach($hooks as $hook_name => $hook_obj) {
$hook_names[] = $hook_name;
}
print_pre($hook_names);
}
/**
* Вспомогательная функция для красивого вывода содержимого переменной.
*/
function print_pre($var, $die = true) {
echo '<pre style="background: #f4f4f4; padding: 10px; margin: 10px 0; border: 1px solid #ccc;">';
var_dump($var);
echo '</pre>';
if ($die) {
die();
}
}