X

Cómo redirigir cuando la búsqueda de WordPress solo devuelve una coincidencia

Snippets de IsItWP

¿Quieres redirigir tu búsqueda a la publicación si solo hay un resultado de búsqueda? Este fragmento mejora la experiencia de búsqueda en el sitio al eliminar la necesidad de hacer clic.

Instrucciones:

Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a un plugin específico del sitio:

add_action('template_redirect', 'single_result');
function single_result() {
    if (is_search()) {
        global $wp_query;
        if ($wp_query->post_count == 1) {
            wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
        }
    }
}

Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.

Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: Mejora la experiencia de búsqueda predeterminada de WordPress: la reseña completa de Search WP.

Comentarios   Deja una respuesta

  1. Obtengo un error de sintaxis, inesperado ' $wp_query ' (T_VARIABLE) cuando copio y pego tu código en el archivo functions.php. Tengo un tipo de publicación personalizado llamado 'cars' con 4 taxonomías y he creado una página de archivo que utiliza el plugin 'grid' y el plugin 'search and filter pro'. Todo funciona bien, pero quiero que se redirija a la página de la publicación en lugar de eso si solo tengo un resultado en el archivo. ¿Puedes darme alguna pista? ¡Gracias!

  2. ¡Gracias!

  3. 12 Not-So-Obvious WordPress Tweaks to Improve Posts and Pages - WPMU DEV March 27, 2015 at 8:10 am

    […] realmente me gusta este – ¡gracias WP Snipp! Cuando un usuario busca en tu sitio web y solo hay un resultado, el usuario es llevado directamente a la […]

  4. WordPress Conditional Tags (And Snippets) for Beginners March 4, 2015 at 11:52 pm

    […] [Fuente] […]

  5. Cameron Coleman July 26, 2013 at 6:31 pm

    Buen código, pero haría una mejora… cambia

    if ($wp_query->post_count == 1) a
    if ($wp_query->found_posts == 1)
    El código original rompe la paginación cuando solo queda una publicación en la siguiente página y redirige a ella en lugar de mostrarla. por ejemplo. Si un archivo de publicación está configurado para mostrar 10 publicaciones por página y se devuelven 11 resultados, en lugar de mostrar la última publicación, redirige a ella.

    1. ¡esto está funcionando correctamente, gracias!

      1. Me alegra que haya ayudado 🙂

  6. 29 Wordpress Tweaks to Improve Posts and Pages October 18, 2011 at 9:03 am

    […] [Fuente: WPSNIPP] […]

  7. Tu ejemplo funcionó bien para mí, todo parece estar funcionando.

    1. Cliff Paulick July 25, 2011 at 6:37 pm

      Hola, yo también ahora. Lo siento. Gracias.

      1. no hay problema 🙂

Agrega un comentario

Nos complace que hayas elegido dejar un comentario. Ten en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad, y todos los enlaces son nofollow. NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!