Soporte » Guías – Resolución de problemas » Buscador avanzado WordPress con checkbox

  • Buenas tardes, tengo un buscador que he creado yo, en mi WordPress, sin necesidad de plugin, en el pones cualquier cosa que quieres buscar en el input, y te sale los post, Page… relacionado con esa búsqueda.

    Entonces quiero que en buscador sea más completo y que el usuario, pueda elegir, mediante un checkbox, en que categorías, quiere buscar ese contenido,pudiendo elegir una o varias. Me ha salido haciéndolo de forma como si fuera una lista desplegable, pero mi idea es con checkbox y que sean varias opciones.

    Un saludo y gracias.

Viendo 9 respuestas - de la 1 a la 9 (de un total de 9)
  • Hi,

    Could you show us your current code? It’s a little bit hard to say anything without seeing your current work.

    You can use either <select> field or list of <input type="checkbox"> – it’s just a usability/UI choice. And which way will you go should depend on how many categories are there, and so on.

    Moderador LGrusin

    (@lgrusin)

    @drozdz te ha preguntado si puedes mostrar el código que has creado. Es complicado responder sin ver lo que has hecho.

    Puedes usar <select> o listas <input type="checkbox"> es una cuestión de usabilidad.

    Esto es lo que tengo en el search.php y en el searchform.php el formulario.Lo que quiero es que al buscar en el usuario pueda elegir la categorías, mediante checkbox. Muchas gracias.

    
    <!--llamada a la cabecera; logo, menú...-->
    <?php
    get_header();
    ?>
    <!--contenido principal-->
    <div id="main-content">
    	<div class="container">
    		<div id="content-area" class="clearfix">
    			<div id="left-area">
                              <!--título general-->
                              <h1>Resultados de su B&uacute;squeda:</h1>
    	                  <span class="et_pb_fullwidth_header_subhead"> Encontrar&aacute; m&aacute;s informaci&oacute;n en:
    	                  <!--las categorías del blog-->
                              <?php $categories = get_categories();
    		               foreach ( $categories as $category ) { 
    		                 if (!each($categories)){?>
    			             <a>name)))?>"> <?php echo esc_html( $category->name )?> </a>
    		                 <?php } 
                                     else {?>
                                         <a>name)))?>"> <?php echo esc_html( $category->name )?> >></a>
    		                 <?php } 
                                 } ?>
    	                </span>
                            <!--buscador-->
                            <div class="buscador center"><?php echo get_search_form(); ?></div>
                            <!--si hay post, entra en el bucle-->
                            <?php if ( have_posts() ) : ?>
                            <!--el loop-->
    			<?php while ( have_posts() ) : the_post(); ?>
                                   <!-- recopilando info de cada post -->
    				<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                                            <!-- título del post -->
    					<h1 class="entry-title main_title"><?php the_title(); ?></h1>
    					<!-- contenido del post -->
                                            <div class="entry-content">
    					<?php
                                                 the_excerpt(); 
                                            ?>
                                            <a>">Leer más...</a>
    					</div> <!-- fin contenido post -->
    				</article> <!-- fin info de cada post -->
    			<?php endwhile; ?><!-- fin del loop -->
                            <!-- si no hay post de búsqueda -->
                            <?php else: ?>
                            <p>No hemos encontrado resultados para su b&uacute;squeda. Encontrar&aacute; un &iacute;ndice con todas las entradas de este blog en:</p>
                             <div id="enlace-todas-las-entradas">
                              <h1> <a href="">>> Ver todas las entradas</a></h1>
                             </div> 
                            <?php endif;?>
    
    			</div> <!-- termina contenido derecha -->
    
    			<?php get_sidebar(); ?><!-- barra lateral -->
    		</div> <!-- fin de div contentarea -->
    	</div> <!-- fin de div container -->
    </div> <!-- fin de div contenido principal -->
    
    <?php get_footer(); ?><!-- llamada al pie de página -->
    • Esta respuesta fue modificada hace 1 año, 6 meses por javiermg.
    Moderador LGrusin

    (@lgrusin)

    Eso lo tienes que hacer en el formulario, el search.php puede ser el mismo que ya tienes.

    Existe una función que te permite crear una lista desplegable de las categorías. Es una opción más fácil que con checkbox, pero podrías echarle un vistazo por si la puedes modificar, es wp_dropdown_categories

    Si, el select lo hice, pero es un desplegable, donde te salen todas las categorías, yo me refiero a eso mismo, pero tipo checkbox, donde el usuario marque las categorías donde quiere buscar cualquier cosa/noticia.

    Gracias.

    Moderador LGrusin

    (@lgrusin)

    Por eso te decía, mira el código de la función wp_dropdown_categories() para que te sirva de idea, y te creas tu propia función cambiando select por <input type="checkbox">

    Buscaré información sobre el código y os digo por aquí, el resultado.

    Hola Javier,

    En primer lugar fantástico por haberlo hecho tu mismo pero te voy a pasar el enlace de un plugin que hace ese tipo de cosas y es increíblemente eficaz:
    https://facetwp.com/

    Un saludo.

    Lo conozco, pero estoy evitando usar plugins, para evitar a la larga su falta de mantenimiento y el añadido de código. Por eso me interesa hacerlo a mano.

Viendo 9 respuestas - de la 1 a la 9 (de un total de 9)
  • El debate ‘Buscador avanzado WordPress con checkbox’ está cerrado a nuevas respuestas.