Cómo crear un formulario de búsqueda avanzada en WordPress para tipos de publicaciones personalizadas

¿Alguna vez ha trabajado en un sitio de WordPress que tiene muchos tipos de publicaciones personalizadas? La búsqueda de WordPress también es un desastre, por lo que muchos blogueros utilizan la búsqueda personalizada de Google. Bueno, estábamos trabajando en un sitio que tiene una buena cantidad de artículos de recursos, videos, libros y publicaciones de blog. Usar la búsqueda predeterminada de WordPress simplemente no era suficiente. El uso de la Búsqueda de Google tampoco era una opción viable. Por lo tanto, hemos decidido crear un formulario de búsqueda avanzada que le permita al usuario elegir en qué área del sitio desea buscar limitando los tipos de publicaciones personalizadas a través de las casillas de verificación. Los usuarios pueden combinar sus consultas de búsqueda y, lo más importante, nos hemos asegurado de que las casillas de verificación se guarden junto con la consulta de búsqueda. Esto permite al usuario ver exactamente lo que estaba buscando y cambiar los parámetros. En este artículo, le mostraremos cómo crear un formulario de búsqueda avanzada en WordPress utilizando el poder de la consulta de búsqueda de WordPress y limitando los resultados a tipos de publicaciones personalizadas.

Lo primero que debe hacer es abrir su archivo searchform.php o donde esté almacenado su formulario de búsqueda. Luego agregue los siguientes campos dentro del código del formulario:

<input type="hidden" name="post_type[]" value="articles" />
<input type="hidden" name="post_type[]" value="post" />
<input type="hidden" name="post_type[]" value="videos" /> 
<input type="hidden" name="post_type[]" value="books" />  

No olvide reemplazar el valor con sus propios tipos de publicaciones personalizadas. El código anterior básicamente limita los resultados de la búsqueda a ese tipo de publicaciones. Bueno, si te has dado cuenta, hemos agregado prácticamente todos los tipos de publicaciones disponibles, excepto las páginas. Bueno, hay una buena razón para hacer eso, de la que hablaremos más adelante. Así que asegúrese de incluir TODOS los tipos de publicaciones que desea buscar usando el botón de búsqueda principal. Estos campos están ocultos, por lo que el usuario no los ve.

Luego abra su archivo search.php y pegue los siguientes códigos sobre el contenido del bucle, para que sus usuarios puedan ver las opciones anteriores.

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
<input type="text" name="s" id="s" <?php if(is_search()) { ?>value="<?php the_search_query(); ?>" <?php } else { ?>value="Enter keywords &hellip;" onfocus="if(this.value==this.defaultValue)this.value="";" onblur="if(this.value=='')this.value=this.defaultValue;"<?php } ?> /><br />
	
<?php $query_types = get_query_var('post_type'); ?>
    
<input type="checkbox" name="post_type[]" value="articles" <?php if (in_array('articles', $query_types)) { echo 'checked="checked"'; } ?> /><label>Articles</label>
<input type="checkbox" name="post_type[]" value="post" <?php if (in_array('post', $query_types)) { echo 'checked="checked"'; } ?> /><label>Blog</label>
<input type="checkbox" name="post_type[]" value="books" <?php if (in_array('books', $query_types)) { echo 'checked="checked"'; } ?> /><label>Books</label>
<input type="checkbox" name="post_type[]" value="videos" <?php if (in_array('videos', $query_types)) { echo 'checked="checked"'; } ?> /><label>Videos</label>
    
<input type="submit" id="searchsubmit" value="Search" />
</form>

Esto agregará un cuadro de búsqueda sobre los resultados con la consulta de búsqueda dentro del cuadro de entrada. Esto también comprobará qué tipos de publicaciones se buscan en la consulta y seleccionará las casillas de verificación correspondientes. Recuerda cómo agregamos todos los tipos de publicaciones en el campo oculto. Bueno, solo lo agregamos para poder hacer la verificación in_array y mantener las casillas de verificación seleccionadas. No había documentación sobre cómo hacerlo de otra manera, por lo que esta fue la mejor manera en que encontramos que funciona. A continuación se muestra una vista previa de cómo se ve el cuadro de búsqueda:

A partir de ahí, el usuario puede simplemente cambiar el parámetro a su gusto.

Esperamos que este artículo haya ayudado a los necesitados. Cuando estábamos haciendo la investigación, había muchos artículos incompletos. Encontré la respuesta agregando las casillas de verificación en el foro de soporte de WordPress en un hilo anterior, sin embargo, estos eran solo campos ocultos. Si bien queríamos brindarles a los usuarios la posibilidad de cambiar su consulta de búsqueda. Felicitaciones a @tammyhart por indicarnos la forma correcta de ejecutar la consulta controlada para la variable.

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicado. Required fields are marked *