Ich muss die Liste der Hooks kennen, die auf der aktuellen Seite aufgerufen werden. Identifizieren der der Aktion zugewiesenen Priorität und Filtern in der Aktion. Wenn ich die Standardaktion auf Wordpress entfernen möchte. Verursacht es einen Fehler? Darf ich die auszuführende Standardaktion überschreiben?
add_filter( $tag, $function_to_add, $priority, $accepted_args );
in diesem Fall ändere ich die Priorität als 50. Ich bekomme keine Änderungen im Vergleich zu 10 oder Default. Wenn dieser Prioritätswert für die Ausführungsreihenfolge gilt, bedeutet dies, dass die Werte größer oder kleiner sein müssen.
Fügen Sie dies in Ihre functions.php ein
//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);
}
Schreiben Sie dies auf index.php oder single.php oder eine andere Seite, um die Filter zu sehen, die auf eine bestimmte Funktion angewendet werden zusammen mit der Priorität .
<?php list_hooks(); ?>
Diese Methode zeigt sogar Ihre eigenen Erstellungsfilter an.
Die Nummern mit der niedrigeren Priorität werden zuerst ausgeführt, höhere Nummern zuletzt