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.