Como usar vários formulários de pesquisa no WordPress

Recentemente, mostramos como limitar os resultados de pesquisa para tipos de postagem específicos no WordPress. Agora, vamos mostrar-lhe como você pode criar completamente diferentes / vários formulários de pesquisa. Desta forma, cada formulário pode ser limitado à procura de um tipo de publicação específico. Embora isso não seja muito difícil, ele exigirá que você tenha uma compreensão básica dos modelos do WordPress.

Primeiro, você precisará de alguns formulários de pesquisa. Coloque o seguinte código onde quer que você queira no seu blog:


Para especificar o tipo de pesquisa que este formulário estará fazendo, basta alterar o valor do campo oculto. Agora está configurado para “normal”, mas pode ser qualquer coisa que você deseja. Em seguida, precisamos modificar o arquivo search.php. Abra-o e substitua tudo nele com este código (copie o código existente na sua área de transferência primeiro, você precisará de um minuto):


Então, assumiremos que você tem dois formulários de pesquisa, normais e livros. Este código é simplesmente redirecionar a pesquisa para o arquivo php que manipula essa consulta específica. Agora, precisamos criar esses arquivos. Então, vá em frente e crie um arquivo normal-search.php e books-search.php (basta substituir “normal” e “livros” por qualquer valor que você tenha usado).

Agora, no normal-search.php copie e cole o seguinte código:

$ args = array ('post_type' => 'post');
 $ args = array_merge ($ args, $ wp_query-> consulta);
 query_posts ($ args); 

Imediatamente depois, cole o código de loop da área de transferência que você copiou do arquivo search.php. Juntos, este código pesquisará apenas suas postagens de blog normais. Agora, no arquivo books-search.php, adicione este bit de código e cole novamente o loop logo após:

$ args = array ('post_type' => 'books');
 $ args = array_merge ($ args, $ wp_query-> consulta);
 query_posts ($ args); 

Isso fará com que o WordPress procure apenas para o tipo de publicação personalizado de “livros”. Você pode repetir este processo para quantos formulários de pesquisa quiser.