Если поиск соответствует таксономии

Можно ли перенаправить пользователя на страницу таксономии, если поиск соответствует точно таксономическому имени?

Например, у меня есть таксономия под названием «Актеры». Если кто-то помещает в поле поиска «Том Хэнкс» вместо того, чтобы идти на обычную страницу поиска, он перенаправляет их на страницу таксономии для Tom hanks.

Я только хотел сопоставить теги в одной таксономии, поэтому я смог упростить код следующим образом. Моя таксономия – «post_tag» – просто поменяйте свое место по мере необходимости.

$i = 0; $search_query = get_search_query(); $term = get_term_by( 'name', $search_query, 'post_tag' ); if( $term !== false ) { $i++; $single_result = $term; } if( $i == 1 && is_object( $single_result ) ) { $single_found = true; } else { $single_found = false; unset( $single_result ); } if( $single_found ) { wp_redirect( get_bloginfo( 'url' ) . '/' . $single_result->slug ); } 

Как насчет чего-то в этом направлении?

 $tax_args = array( 'public' => true ); $taxonomies = get_taxonomies( $tax_args, 'names', 'or' ); $i = 0; foreach( $taxonomies as $tax ) { $term = get_term_by( 'name', $your_search_term, $taxonomy ); if( $term !== false ) { $i++; $single_result = $term; } } if( $i === 1 && is_object( $single_result ) ) { $single_found = true; } else { $single_found = false; unset( $single_result ); } if( $single_found ) { wp_redirect( get_bloginfo( 'url' ) . '/' . $single_result->taxonomy . '/' . $single_result->slug ); } 

Документы: get_taxonomies() , get_term_by() , wp_redirect()