X

Crie Múltiplos Modelos de Busca para Tipos de Post Personalizados

Snippets por IsItWP

Você está procurando uma maneira de criar múltiplos modelos de busca para tipos de post personalizados? Embora provavelmente exista um plugin para isso, criamos um snippet de código rápido que você pode usar para criar múltiplos modelos de busca para tipos de post personalizados no WordPress.

Instruções:

Modelo de busca

Crie um novo arquivo chamado search.php e adicione o seguinte modelo de busca. Altere o $search_refer= CUSTOM_POST_TYPE para os nomes dos seus tipos de post. Você também precisará alterar o caminho do modelo para o modelo correspondente que deseja exibir os resultados.

<?
/* Template Name: Search Results */

$search_refer = $_GET["post_type"];
if ($search_refer == 'CUSTOM_POST_TYPE') { load_template(TEMPLATEPATH . '/template_one-name.php'); }
elseif ($search_refer == 'CUSTOM_POST_TYPE') { load_template(TEMPLATEPATH . '/template_two-name.php'); };

?>

Exibir resultados da busca

Adicione esta query_post logo acima do loop nos modelos de busca que você criar. Não se esqueça de alterar o CUSTOM_POST_TYPE para cada um dos seus modelos.

<?php 
	$args = array(
		'post_type'=> 'CUSTOM_POST_TYPE',
                's'    => $s,
                'paged' => $paged,
                );
		query_posts($args);
?>

Formulário de busca

Adicione este HTML ao modelo que você deseja exibir o formulário de busca. Você precisará alterar o nome CUSTOM_POST_TYPE para o tipo de post que deseja buscar. Você precisará criar um novo formulário para cada tipo de post personalizado ou usar um menu de seleção para definir o post_type.

<form id="searchform" action="<?php bloginfo('home'); ?>/" method="get">
	<input id="s" maxlength="150" name="s" size="20" type="text" value="" class="txt" />
	<input name="post_type" type="hidden" value="CUSTOM_POST_TYPE" />
	<input id="searchsubmit" class="btn" type="submit" value="Search" />
</form>

Observação: Se esta é a sua primeira vez adicionando snippets de código no WordPress, consulte nosso guia sobre como adicionar snippets de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste snippet de código, considere conferir nossos outros artigos no site, como: 43 melhores temas de fotografia para WordPress e como criar um formulário de contato no WordPress.

Comentários   Deixe uma resposta

  1. Sally Pilkington January 7, 2019 at 3:09 pm

    Olá, obrigado por este tutorial.
    Estou tentando criar um formulário de pesquisa personalizado para colocar na barra lateral da seção de blog do meu site. Quero que o formulário de pesquisa procure apenas em posts (posts de blog padrão, não um tipo de post personalizado) – e ignore qualquer outro conteúdo, por exemplo, páginas. É possível adaptar este método para o que estou tentando fazer?
    Eu tentei, mas sem sucesso.
    Muito obrigado

    1. Oi Sally,
      Experimente este tutorial sobre como filtrar tipos de postagem dos resultados de pesquisa. Espero que você ache útil 🙂

  2. Miau miau miau-ravilhoso )

  3. Pitico Medtler July 3, 2015 at 2:16 pm

    Perfeito. Obrigado!

  4. Desculpe pela pergunta de novato, mas existe uma maneira de ir um nível além e pesquisar apenas um meta_field personalizado dentro do tipo de post personalizado? Tenho procurado por dias e este é o script mais próximo que consegui encontrar. Atualmente, ele pesquisa os títulos e o conteúdo do post, mas tenho um monte de campos personalizados para o CPT e só quero que o usuário pesquise um campo específico. Pensamentos?

  5. é possível adaptar estas instruções para pesquisar uma taxonomia personalizada em vez de um post personalizado? Estou tentando retornar uma pesquisa separada para cada taxonomia personalizada e não estou entendendo bem. Obrigado!

Adicionar um comentário

Ficamos felizes que você tenha escolhido deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!