Filtern Sie vorhandene Hooks mit Parameter und foreach loop

Ich versuche, einen Filter zu erstellen, um der Bearbeitungsseite einer benutzerdefinierten Kategorie, die in WordPress vorhanden sein kann, eine benutzerdefinierte Spalte hinzuzufügen. Ich bin mir bewusst, dass der Filter Hook in der Form manage_edit-{$cat}_columns . Sagen wir, dass das folgende function ist:

 /* Add custom column to lists */ function add_shortlink_column( $columns ) { return array_merge( $columns, array( 'shortlink' => __( 'Shortlink', 'your_text_domain' ) ) ); } 

Da ich ALLE benutzerdefinierten Kategorien (aktuell oder zukünftig) abdecken möchte, muss ich nach dem Aufruf von get_taxonomies eine foreach-Schleife verwenden.

Aber add_filter verursacht mir Probleme …

Angenommen, ich habe nur zwei Kategorien; Themen und Produkt_Kat.

Wenn ich das versuche funktioniert alles gut und die Spalte wird hinzugefügt:

 $value1 = 'topics'; $value2 = 'product_cat'; $filters = array( "manage_edit-{$value1}_columns", "manage_edit-{$value2}_columns" ); foreach ( $filters as $filter ) { add_filter( $filter, 'add_shortlink_column' ); } 

Wenn ich das versuche, funktioniert es nicht.

 $args = array( 'public' => true, '_builtin' => false ); $taxonomies = get_taxonomies( $args, 'names', 'and' ); foreach($taxonomies as $key => $taxonomy) { $filter = "manage_edit-{$taxonomy}_columns"; add_filter( $filter, 'add_shortlink_column' ); } 

Ich bin mir ziemlich sicher, dass dies eine Art Syntaxproblem ist. Aber ich kann es nicht herausfinden. Jede Hilfe würde sehr geschätzt werden.

Vielen Dank

Solutions Collecting From Web of "Filtern Sie vorhandene Hooks mit Parameter und foreach loop"

Nach dem Vorschlag von Milo, der mich in die richtige Richtung wies, wurde dieses Problem jetzt getriggers.

Alles was ich tun musste war das …

 add_action( 'init', 'get_custom_tax' ); function get_custom_tax() { $args = array( 'public' => true, '_builtin' => false ); $taxonomies = get_taxonomies( $args, 'names', 'and' ); foreach($taxonomies as $key => $taxonomy) { $filter = "manage_edit-{$taxonomy}_columns"; add_filter( $filter, 'add_shortlink_column', 50, 1 ); } }