Filtert Taxonomiebegriffe unter Verwendung mehrerer IDs in der edit-tags.php

Ich möchte die Suchfunktion edit-tags.php mit mehreren Begriffen verwenden. Zum Beispiel, wenn ich in das Suchfeld etwas wie folgt eingeben: # 1245 & 6832, sollte es diese zwei Begriffe in der Ergebnistabelle (WP_Terms_List_Table) anzeigen.

Ich habe versucht, die pre_get_posts-Aktion zu verwenden, um Zugriff auf die Abfrage zu erhalten, die für die Suche ausgeführt wird, aber das zeigt mir nur eine “leere” Abfrage:

add_action('pre_get_posts', 'filter_terms_by_ids' ); function filter_terms_by_ids( $wp_query ) { global $pagenow; if($pagenow == 'edit-tags.php' && $_GET['s']): print_r($wp_query->query_vars); endif; } 

Meine Idee ist, das $ _GET [‘s’] zu überprüfen, und wenn # das erste Zeichen ist, kann ich die Abfrage ändern, um nur diese Begriffe in die Suche aufzunehmen:

 if ('#' == substr($_GET['s'],0,1)) 

Solutions Collecting From Web of "Filtert Taxonomiebegriffe unter Verwendung mehrerer IDs in der edit-tags.php"

Es ist einfach zu implementieren. Alles, was Sie brauchen, ist Ihr eigener Hook für get_terms_args Filter get_terms_args :

 add_filter( 'get_terms_args', 'wpse8170_get_terms_args', 10, 2 ); function wpse8170_get_terms_args( $args, $taxonomies ) { if ( !in_array( 'post_tag', $taxonomies ) ) { return $args; } $matches = array(); if ( empty( $args['search'] ) || !preg_match( '/^\#(.*)$/', $args['search'], $matches ) ) { return $args; } if ( count( $matches ) == 2 ) { $args['search'] = ''; $args['include'] = array_filter( array_map( 'intval', explode( '&', $matches[1] ) ) ); } return $args; }