Para realizar búsquedas sobre una determinada categoría de WordPress, aremos uso de esta función, que nos devolverá directamente el buscador y a la que podremos indicar el ID de la categoría sobre la que deseemos enfocar la búsqueda.

La lógica es algo básica, simplemente imprimimos el formulario por defecto para realizar búsquedas generales en WordPress e insertamos un campo oculto con el ID de la categoría.

El primer paso será situar la siguiente función en el archivo funtions.php de nuestro tema de WordPress:

<?php

	function search_in_cat($idcat){

		$exit = '
		<form role="search" method="get" class="search-form" action="'. home_url( '/' ) . '">
		  <label>
		    <span class="screen-reader-text">' . _x( 'Buscar:', 'label' ) . '</span>
		    <input type="search" class="search-field" placeholder="' . esc_attr_x( 'Buscar...', 'placeholder' ) . '" value="' . get_search_query() . '" name="s" title="' . esc_attr_x( 'Buscar:', 'label' ) . '" />

		    <input type="hidden" value="' . $idcat . '" name="cat" />
		  </label>

		  <input type="submit" class="search-submit" value="' . esc_attr_x( 'Buscar', 'submit button' ) . '" />
		</form>
		';

		return $exit;

	}

?>

Después llamaremos a la función para mostrar el campo de búsqueda donde queramos, pasándole como parámetro el ID de la categoría sobre la que queramos realizar las búsquedas:

<?php echo search_in_cat(5); //ID de la categoria ?>

Si te ha sido de utilidad ¡deja un comentario! 🙂