¿Cómo puedo ver todas las acciones adjuntas a un gancho "add_action"?

30 nov 2011, 00:18:58
Vistas: 26.8K
Votos: 24

Estoy trabajando con la barra de administración y tratando de depurar algunos de los menús y sus prioridades.

Sé que varios callbacks se vinculan a acciones, como este:

// Añade una acción al menú de la barra de administración con prioridad 10
add_action( 'admin_bar_menu', 'wp_admin_bar_wp_menu', 10 );

¿Cómo puedo ver qué está programado para ser ejecutado cuando se llama a un gancho como admin_bar_menu?

2
Comentarios

Enganchar a la acción de apagado e imprimir la variable global $wp_filters o similar... no tengo una instalación de WP funcionando ahora mismo para decirlo con certeza... (pero sé que hay una variable global con filtros y/o acciones)... solo una pista.. ;)

t31os t31os
30 nov 2011 00:56:59

genial - solo que necesita ser singular $wp_filter

cwd cwd
30 nov 2011 06:02:25
Todas las respuestas a la pregunta 2
6
38

Puedes ver la lista detallada de los hooks utilizando este fragmento de código:

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

casi correcto. necesita ser $wp_filter en singular. gracias.

cwd cwd
30 nov 2011 06:02:46

Correcto, respuesta actualizada.

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

¿Hay algún lugar fácil donde esto pueda colocarse para que se pueda probar? Me doy cuenta de que esto es bastante antiguo, pero ¿alguien?

derickito derickito
1 feb 2013 01:55:34

Puedes colocarlo en el encabezado o pie de página, usando los hooks wp_head, wp_footer o shutdown. Nota: si no quieres que los usuarios vean esta información de depuración, deberías verificar los permisos del usuario con if ( current_user_can( 'manage_options' ) ) {...}

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

Utilizo algunas funciones para formatearlo de manera más agradable. Útil si lo usas a menudo para depuración y quieres ver la información más rápido. Aquí hay un gist.

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

¡Buena respuesta! Muchas gracias. Acabo de agregar etiquetas <pre> para que se formatee correctamente y pude encontrar lo que estaba buscando.

Self Designs Self Designs
27 nov 2017 11:27:27
Mostrar los 1 comentarios restantes
0

Una lista de funciones de callback:

// listar funciones de callback
    $hook_name = 'admin_bar_menu';
    global $wp_filter;
    echo '<h2>  Nombre del hook: '.  $hook_name . '</h2> ';
    if( isset( $wp_filter[$hook_name]->callbacks )){
        if (is_array($wp_filter[$hook_name]->callbacks )){
        echo '<h2>funciones de callback > argumentos aceptados </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 jul 2022 12:42:19