Hay ocasiones en las que al buscar en un blog de WordPress, solo obtienes un resultado. Dependiendo de qué tan organizado esté tu sitio, este debería ser el elemento que el usuario estaba buscando de todos modos. Uno de nuestros usuarios preguntó si había una manera de redirigir a la publicación si la consulta de búsqueda solo arrojaba una coincidencia. En este artículo, te mostraremos cómo redirigir a los usuarios a la publicación cuando la consulta de búsqueda solo devuelve una coincidencia.
Todo lo que tienes que hacer es abrir el archivo functions.php de tu tema y pegar el siguiente fragmento.
add_action('template_redirect', 'one_match_redirect');
function one_match_redirect() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
Ahora debes tener en cuenta que algunos usuarios no esperarán esta funcionalidad. Así que podría asustarlos.
Casey Lessard
Me funcionó. Dirijo un motor de búsqueda local usando WordPress y he estado tratando de encontrar esta solución durante algún tiempo. Hace exactamente lo que se describe. ¡Muchas gracias!
Eric
Quiero hacer que cuando alguien busque una frase específica, se redirija a un huevo de pascua, como si alguien buscara específicamente "Veo gente muerta" se redirigiría a una URL que yo pueda definir.
Nebulas Website Design
Gracias por este fragmento de código, hizo muy feliz a mi cliente y no pensé que se pudiera hacer. Sin embargo, no nos está funcionando, estamos usando el plugin de búsqueda Relevanssi, ¿debería funcionar con esto?
carlos
¿Qué pasa si quiero redirigir cualquier consulta de búsqueda a la publicación más relevante sin importar el número de publicaciones que devuelva la búsqueda? Realmente me gustaría poder hacer eso.
Personal editorial
Elimina la condicional if del código anterior, y debería funcionar.
Administrador
CalebZahnd
Esto es útil. ¡Gracias!