Как посмотреть все действия, привязанные к хуку "add_action"?

30 нояб. 2011 г., 00:18:58
Просмотры: 26.8K
Голосов: 24

Я работаю с админ-панелью и пытаюсь отладить некоторые меню и их приоритеты.

Я знаю, что несколько колбэков привязываются к действиям, например такой:

add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );

Как можно увидеть, что запланировано для выполнения, когда вызывается хук вроде admin_bar_menu?

2
Комментарии

Подключиться к действию shutdown и вывести глобальную переменную $wp_filters или что-то подобное?.. Сейчас у меня нет работающей установки WP, чтобы сказать точно... (но я знаю, что есть глобальная переменная с фильтрами и/или действиями).. просто подсказка.. ;)

t31os t31os
30 нояб. 2011 г. 00:56:59

Отлично - только нужно использовать единственное число $wp_filter

cwd cwd
30 нояб. 2011 г. 06:02:25
Все ответы на вопрос 2
6
38

Вы можете увидеть детальный список хуков, используя этот фрагмент кода:

$hook_name = 'admin_bar_menu';
global $wp_filter;
var_dump( $wp_filter[$hook_name] );
30 нояб. 2011 г. 03:20:44
Комментарии

Почти верно. Нужно использовать $wp_filter в единственном числе. Спасибо.

cwd cwd
30 нояб. 2011 г. 06:02:46

Верно, ответ обновлен.

Anh Tran Anh Tran
1 дек. 2011 г. 05:56:21

Есть ли простое место, куда можно это поместить, чтобы протестировать? Я понимаю, что это довольно старый вопрос, но может кто-то знает?

derickito derickito
1 февр. 2013 г. 01:55:34

Вы можете разместить это в header или footer, используя хуки wp_head, wp_footer или shutdown. Примечание: если вы не хотите, чтобы пользователи видели эту отладочную информацию, вам следует проверить права пользователя с помощью if ( current_user_can( 'manage_options' ) ) {...}

Anh Tran Anh Tran
1 февр. 2013 г. 04:03:55

Я использую несколько функций для более красивого форматирования. Полезно, если вы часто используете это для отладки и хотите быстрее увидеть информацию. Вот gist.

J.D. J.D.
6 июн. 2014 г. 18:01:13

Хороший ответ! Большое спасибо. Просто добавил теги <pre>, чтобы красиво отформатировать, и смог найти то, что искал.

Self Designs Self Designs
27 нояб. 2017 г. 11:27:27
Показать остальные 1 комментариев
0

Список callback-функций:

// список callback-функций
    $hook_name = 'admin_bar_menu';
    global $wp_filter;
    echo '<h2>Имя хука: '.  $hook_name . '</h2> ';
    if( isset( $wp_filter[$hook_name]->callbacks )){
        if (is_array($wp_filter[$hook_name]->callbacks )){
        echo '<h2>callback-функции > accepted_args </h2>';
            foreach(  $wp_filter[$hook_name]->callbacks as $item){
                if ( is_array( $item)){
                    foreach ( $item as $subitem){
                        echo '<P>'.  $subitem['function'].' '.$subitem['accepted_args'] . '</P>';
                    }
                    
                }
            }
    }}
15 июл. 2022 г. 12:42:19