18abr
12

patito-feo

Hay sitios en los que no conviene mostrar resultados de búsqueda de todas las categorías. Imagina que tienes un sitio donde, además de publicar artículos profesionales en ocasiones cuentas cosas sobre tu vida y amigos. Pues hay un modo sencillo de que al realizar una búsqueda en tu sitio WordPress solo se muestren resultados de las categorías que tu le indiques.

Para conseguirlo debes editar el fichero ‘search.php‘ de tu plantilla activa y añadir el siguiente código:

<?php if( is_search() )  :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("s=$s&paged=$paged&cat=9,11,16");
endif; ?>

En este ejemplo se mostrarán solo resultados de las categorías con los ID 9, 11 y 16 pero puedes añadir o cambiarlo a tu gusto.

Para saber más:

  • Pingback: Bitacoras.com

  • gree

    esta bien pero seria bueno tambien que los usuarios puedan elegir en que categoria buscar con un menu desplegable.

  • http://wpesp.com Víctor

    Gree, hay una forma simple, utilizando (http://codex.wordpress.org/Template_Tags/wp_dropdown_categories). No es una búsqueda, es una selección pero te puede servir. Si lo que quieres es realizar una búsqueda sobre una categoría elegida por el usuario. Sustituye tu formulario de búsqueda por el siguiente código:
    <form method=”get” id=”searchform” action=”/”>
    <input type=”text” value=”" name=”s” id=”s” />

    • http://fernandotellado.com/ Fernando Tellado

      Tienes toda la razón Victor, ese método es genial ;)

  • http://www.okdietas.com dietas

    esto es perfecto para aquellos blogs que manejan demasiadas categorias y lo que quieres buscar tienes una idea de en que categoria hacerlo y por ende te resulta mas practico

  • http://wpesp.com Víctor

    El código ha quedado cortado lo vuelvo poner.

    <form method="get" id="searchform" action="<?php bloginfo('home'); ?>/">
    <input type="text" value="<?php echo wp_specialchars($s, 1); ?>" name="s" id="s" />
    <?php wp_dropdown_categories(); ?>
    <input type="submit" id="searchsubmit" value="Search" />
    </form>

    • http://www.webmasterhuatulco.com Webm@sterHuatulco

      Muy Buen aporte victor yo lo cambiaraia un poquito me ayudo mucho tu aporte, para mi gusto quedaria asi

      <form action=”">
      <input type=”text” name=”s” id=”s” value=”" />

      Search

  • http://www.webmasterhuatulco.com Webm@sterHuatulco

    Hay va de nuevo:

    <form action="<?php echo get_option(‘home’); ?>">
    <input type="text" name="s" id="s" value="<?php the_search_query(); ?>" />
    <?php wp_dropdown_categories(); ?>
    <button type="submit">Search</button>
    </form>

  • http://www.yeow.com.ar Yeow

    ¡La verdad que te pasaste
    Me vino perfecto lo que explicas en este post, era justo lo que necesitaba.
    Te lo agradezco infinitamente.
    Cualquier cosa que necesites ponte en contacto con migo que te daré una gran mano.

  • http://www.pachakamaq.com Fliberty

    Pero que pasa si además lo quiero hacer de esta forma.

    Caja de texto para ingresar palabra a buscar
    Lista para seleccionar categoría
    Lista para seleccionar sub categoría
    Lista para buscar en una localidad si esta disponible

    Boton para buscar

    Quisiera saber si alguien sabe de algo parecido… Muchas gracias.

  • Alejandro

     A la linea anterior como hago para ocultar alguna categoria en particular? ya que lo que quiero hacer es un repetirla y que se vean diferentes opciones para filtrado multiple.Un saludo para todos!! y gracias!

  • Diegos

    consulta, yo solo quiero que el buscar me busque por títulos y no en todo el texto, como puedo realizarlo