Blog

Como desenvolver o sistema de pesquisa no site do WordPress

básico / médio

Como desenvolver o sistema de pesquisa no site do WordPress

O sistema de pesquisa nos sites do WordPress é realizada com função get_search_form(). O que essa função faz exatamente? Ela procura na pasta do tema o arquivo searchform.php e nele pega o HTML do formulário de pesquisa. E se não tiver este arquivo, WordPress usa o formulário padrão de pesquisa dele. Mas pra essa função funcionar com html5 precisamos colocar no theme_support seguintes parâmetros

add_theme_support(
   'html5', // formulário irá usar o html5
   array(
     'search-form',
   )
);

Se o tema for criada do zero e você ainda não criou o arquivo searchform.php, vamos criar ele na pasta de tema e colocar o html do formulário nele

Neste arquivo vamos adicionar o seguinte código

<form method="get" action="<?php echo home_url('/'); ?>">
  <input type="text" name="s" value="<?php the_search_query(); ?>" >
  <input type="submit" value="Pesquisar" /> 
  <input type="hidden" value="post" name="post_type" /> // vamos deifinir o que vamos pesquisar, aqui pode ser post, page, ou custom post type
</form>

Mas isso não é tudo. Além do arquivo searchform.php precisamos o arquivo search.php que será responsável pelos resultados da pesquisa.

O que vamos colocar neste arquivo?

Vamos colocar o seguinte código que irá gerar os resultados da pesquisa:

<?php
if ( have_posts() ) :
echo esc_html__('Resultados de pesquisa para: %s', 'textdomain');

while(have_posts()):
the_post();

the_title();
the_content();

endwhile;

else:

echo 'Não foi encontrado nada';

endif;

Praticamente, isso é suficiente para criar o sistema de pesquisa em WordPress.

Porém, tem mais um jeito de criar o formulário de pesquisa colocando uma função no functions.php

E no lugar (template ou arquivo de header ou footer) onde desejamos colocar o nosso campo de pesquisa vamos chamar a seguinte função

<?php get_search_form(); ?>

A função get_search_form() tem um filtro que podemos aplicar o formulário customizado nele.

function meu_custom_search($form){
  $form = 'algum código html aqui';

  return $form;
}
add_filter('get_search_form', 'meu_custom_search');

Pronto, hoje eu mostrei tudo que sei sobre mecanismo de pesquisa em WordPress. Qualquer dúvida que tiver, deixe um comentário e irei lhe ajudar.

Leave your thought here

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *