J'ai besoin de connaître la liste des hooks appelés dans la page en cours. Comment identifier la priorité affectée à l'action et les filtres dans l'action. Si je veux supprimer l'action par défaut sur Word-press. Cela cause-t-il une erreur? Puis-je écraser l'action par défaut à exécuter?
add_filter( $tag, $function_to_add, $priority, $accepted_args );
dans ce cas, je change la priorité à 50. Je ne reçois aucun changement comparé à 10 ou par défaut. Si cette valeur de priorité correspond à l'ordre d'exécution, cela signifie que je dois modifier les valeurs plus grandes ou plus petites.
Collez ceci dans votre functions.php
//LIST ALL HOOKS
function dump_hook( $tag, $hook ) {
ksort($hook);
echo "<pre>>>>>>\t$tag<br>";
foreach( $hook as $priority => $functions ) {
echo $priority;
foreach( $functions as $function )
if( $function['function'] != 'list_hook_details' ) {
echo "\t";
if( is_string( $function['function'] ) )
echo $function['function'];
elseif( is_string( $function['function'][0] ) )
echo $function['function'][0] . ' -> ' . $function['function'][1];
elseif( is_object( $function['function'][0] ) )
echo "(object) " . get_class( $function['function'][0] ) . ' -> ' . $function['function'][1];
else
print_r($function);
echo ' (' . $function['accepted_args'] . ') <br>';
}
}
echo '</pre>';
}
function list_hooks( $filter = false ){
global $wp_filter;
$hooks = $wp_filter;
ksort( $hooks );
foreach( $hooks as $tag => $hook )
if ( false === $filter || false !== strpos( $tag, $filter ) )
dump_hook($tag, $hook);
}
Ecrivez ceci sur index.php ou single.php ou sur toute autre page pour voir les filtres appliqués à une fonction particulière avec priorité .
<?php list_hooks(); ?>
Cette méthode montre même vos propres filtres de création.
Les numéros de priorité les plus faibles sont exécutés en premier, les numéros les plus élevés en dernier