Como redirecionar para o único post no resultado da pesquisa do WordPress?
O WordPress tem uma função de pesquisa embutida e você pode digitar /?s=Key após a localização da raiz do wordpress. No entanto, às vezes, se houver apenas 1 resultado, por exemplo, o usuário sabe o que procurar, é melhor ir para esse post específico imediatamente sem mostrar a página de pesquisa. Isso certamente melhorará a experiência do usuário. Este é um botão meio de ‘sorte’, mas só funciona quando há apenas 1 resultado correspondente.
Então, basta copiar o seguinte código PHP no final do seu template de tema wordpress (melhor usar temas filhos ), ou seja, 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;
}
}
}
Isso é um complemento rápido! Sem plugins sofisticados e funciona como um encanto!