Как перенаправить на один пост в результатах поиска WordPress?
WordPress имеет встроенную функцию поиска, и вы можете ввести /?s=Key после вашего корневого местоположения WordPress. Однако иногда, если есть только 1 результат, например, пользователь знает, что искать, лучше сразу перейти к этому конкретному сообщению, не показывая страницу поиска. Это, безусловно, улучшит пользовательский опыт. Это своего рода «счастливая» кнопка, но она работает только тогда, когда есть только 1 совпадающий результат.
Итак, просто скопируйте следующий PHP -код в конец вашего шаблона темы WordPress (лучше использовать дочерние темы ), т.е. functions.php.
add_action('template_redirect', 'redirect_single_post_from_search');
function redirect_single_post_from_search() {
if (is_search()) { // if it is a search page
global $wp_query;
if ($wp_query->post_count == 1 && $wp_query->max_num_pages == 1) { // if only 1 result
wp_redirect( get_permalink( $wp_query->posts['0']->ID) ); // go to that page
exit;
}
}
}
Это быстрое дополнение! Никаких причудливых плагинов, и это работает как шарм!