Come posso vedere tutte le azioni collegate a un hook "add_action"?

30 nov 2011, 00:18:58
Visualizzazioni: 26.8K
Voti: 24

Sto lavorando con la barra di amministrazione e sto cercando di debuggare alcuni dei menu e le loro priorità.

So che diverse callback vengono collegate alle azioni, come questa:

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

Come posso vedere cosa è in coda per essere eseguito quando viene chiamato un hook come admin_bar_menu?

2
Commenti

Agganciati all'azione di shutdown e stampa il globale $wp_filters o simile? .. non ho un'installazione funzionante di WP al momento per dirlo con certezza... (ma so che c'è un globale con i filtri e/o le azioni).. solo un suggerimento.. ;)

t31os t31os
30 nov 2011 00:56:59

fantastico - solo che deve essere singolare $wp_filter

cwd cwd
30 nov 2011 06:02:25
Tutte le risposte alla domanda 2
6
38

Puoi vedere la lista dettagliata degli hook utilizzando questo snippet:

$hook_name = 'admin_bar_menu';
global $wp_filter;
var_dump( $wp_filter[$hook_name] );
30 nov 2011 03:20:44
Commenti

quasi giusto. deve essere $wp_filter al singolare. grazie.

cwd cwd
30 nov 2011 06:02:46

Giusto, risposta aggiornata.

Anh Tran Anh Tran
1 dic 2011 05:56:21

C'è un posto semplice dove questo può essere inserito per poterlo testare? Capisco che sia piuttosto vecchio, ma qualcuno?

derickito derickito
1 feb 2013 01:55:34

Puoi inserirlo nell'header o nel footer, utilizzando gli hook wp_head, wp_footer o shutdown. Nota: se non vuoi che gli utenti vedano queste informazioni di debug, dovresti verificare i permessi dell'utente con if ( current_user_can( 'manage_options' ) ) {...}

Anh Tran Anh Tran
1 feb 2013 04:03:55

Utilizzo alcune funzioni per formattarlo in modo più elegante. Utile se lo usi spesso per il debug e vuoi vedere le informazioni più rapidamente. Ecco un gist.

J.D. J.D.
6 giu 2014 18:01:13

Ottima risposta! Grazie mille. Ho appena aggiunto i tag <pre> per formattarlo meglio e sono riuscito a trovare quello che cercavo.

Self Designs Self Designs
27 nov 2017 11:27:27
Mostra i restanti 1 commenti
0

Un elenco di funzioni di callback:

// elenco delle funzioni di callback
    $hook_name = 'admin_bar_menu';
    global $wp_filter;
    echo '<h2>Nome hook: '.  $hook_name . '</h2> ';
    if( isset( $wp_filter[$hook_name]->callbacks )){
        if (is_array($wp_filter[$hook_name]->callbacks )){
        echo '<h2>funzioni di callback > argomenti accettati </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 lug 2022 12:42:19