Como criar uma pesquisa personalizada no WordPress sem um plug-in
Publicados: 2022-07-25Quer saber como criar uma pesquisa personalizada no WordPress sem um plugin?
Ao personalizar a pesquisa em seu site, você pode aumentar o número de visualizações de página, aumentar suas vendas e ajudar seus visitantes a encontrar mais rapidamente o que procuram.
Neste artigo, falaremos sobre como você pode personalizar a pesquisa em seu site sem instalar um plug-in e por que você ainda deve considerar usar um plug-in para fazer isso.
Aqui está um índice para ajudá-lo a navegar rapidamente por este artigo:
- Por que a pesquisa personalizada é importante para o seu site WordPress?
- Desvantagens da criação de pesquisa personalizada sem um plug-in
- Método mais fácil para personalizar a pesquisa do WordPress em seu site
- Crie uma pesquisa personalizada no WordPress sem um plug-in
Vamos começar!
Por que a pesquisa personalizada é importante para o seu site WordPress?
Para começar, vamos falar sobre como uma pesquisa personalizada em seu site pode ajudar você a expandir seus negócios.
Personalizar a pesquisa em seu site permite que você:
- Forneça resultados de pesquisa mais relevantes . Limite sua pesquisa a categorias específicas para restringir seus resultados de pesquisa e ajudar os visitantes a encontrar o que estão procurando mais rapidamente.
- Obtenha mais visualizações de página e vendas . Aumente a descoberta de seu conteúdo e aumente sua renda promovendo postagens ou produtos específicos em seus resultados de pesquisa.
- Construa um público fiel . Os visitantes que tiveram uma experiência de pesquisa positiva em seu site têm maior probabilidade de retornar novamente para explorar mais seu conteúdo.
- Direcione mais tráfego dos motores de busca . Ao ajudar os visitantes a encontrar o conteúdo certo mais rapidamente, você faz com que eles permaneçam em seu site por mais tempo, que é um dos principais fatores de classificação no Google.
Depois de descobrirmos quais benefícios a pesquisa personalizada pode trazer para sua empresa, vamos falar sobre quais desvantagens você pode esperar se fizer isso sem um plug-in.
Desvantagens da criação de pesquisa personalizada sem um plug-in
Você deve considerar algumas desvantagens importantes se quiser criar uma pesquisa personalizada em seu site sem um plug-in.
1. Requer habilidades de codificação e profundo conhecimento do WordPress
A principal desvantagem de personalizar a pesquisa do seu site manualmente é que ela requer ampla experiência em codificação e profundo conhecimento do WordPress.
O problema é que não há ferramentas de configuração de pesquisa padrão no WordPress.
Por isso, a única maneira de personalizar sua pesquisa é modificar os arquivos principais do WordPress e o código do seu tema.
É inconveniente, demorado e inadequado para pessoas sem experiência em tecnologia.
Além disso, se você fizer algo errado, isso pode levar ao travamento do seu site, portanto, você deve ter muito cuidado ao personalizar seus arquivos de tema.
2. Você terá menos recursos
Além disso, mesmo que você tenha extensas habilidades de codificação, o número de recursos de pesquisa personalizados que você pode adicionar sem um plug-in é limitado.
Por exemplo, você não pode adicionar vários mecanismos de pesquisa com um conjunto exclusivo de regras, excluir páginas ou categorias específicas da pesquisa, gerenciar a ordem dos resultados da pesquisa e muito mais.
Portanto, se for crucial que você tenha controle total sobre como a pesquisa funciona em seu site, considere usar um poderoso plug-in de pesquisa do WordPress.
3. Você pode perder suas alterações
Por fim, como personalizar a pesquisa sem um plug-in requer fazer edições nos arquivos do seu site, você perderá todas as alterações feitas ao atualizar seu tema ou versão do WordPress.
A melhor maneira de evitar tais situações é usar um plugin de pesquisa do WordPress, pois ele mantém suas configurações independentemente do que você fizer com seu site.
Com isso, vamos dar uma olhada em como você pode personalizar a pesquisa em seu site em apenas alguns cliques, sem necessidade de codificação e independentemente de suas habilidades técnicas.
Método mais fácil para personalizar a pesquisa do WordPress em seu site
A maneira mais fácil de personalizar uma pesquisa no seu site WordPress é usar um plugin como o SearchWP.
SearchWP é o plug-in de pesquisa WordPress mais bem avaliado, confiável por mais de 30.000 proprietários de sites.
Sua interface amigável para iniciantes e recursos poderosos permitem que você personalize totalmente sua pesquisa, mesmo se você iniciar seu primeiro site.
Por exemplo, com o SearchWP, você pode gerenciar onde o WordPress deve procurar correspondências, limitar a pesquisa a um tipo específico de conteúdo, ativar a pesquisa por tags e campos personalizados e muito mais.
A melhor coisa é que você pode fazer a maioria dessas coisas em apenas alguns cliques.
Você também pode usar o SearchWP para:
- Mostrar resultados de pesquisa no modo ao vivo . Ative a exibição ao vivo dos resultados de pesquisa em seu site para que seus visitantes possam navegar instantaneamente para o conteúdo que desejam.
- Acompanhe as pesquisas de seus visitantes . Colete dados sobre o que os visitantes estão pesquisando em seu site, quais resultados são mais clicáveis e outros dados valiosos.
- Realce os termos de pesquisa nos resultados da pesquisa . Ajude seus visitantes a descobrir se encontraram o conteúdo certo mais rapidamente, destacando palavras-chave nos resultados de pesquisa.
- Exclua páginas específicas da pesquisa . Livre-se da desordem nos resultados de pesquisa em seu site, excluindo páginas redundantes e conteúdo desatualizado.
Depois de aprender por que o SearchWP é o melhor plugin de pesquisa do WordPress, vamos ver como você pode usá-lo para personalizar a pesquisa em seu site para suas necessidades.
Etapa 1: instalar e ativar o SearchWP
O primeiro passo é pegar sua cópia do SearchWP aqui.
Uma vez feito, vá para o painel da sua conta SearchWP e clique em Downloads .
Em seguida, pressione o botão Download SearchWP e salve o plug-in em seu computador.
Após o download, copie sua chave de licença SearchWP no canto inferior esquerdo.
Em seguida, você precisará instalar o SearchWP em seu site. Se precisar de ajuda, você pode seguir nosso guia detalhado sobre como instalar um plug-in do WordPress.
Depois de colocar o SearchWP em funcionamento em seu site, a próxima etapa é ativar sua cópia do plug-in.
Para fazer isso, acesse o painel do WordPress e clique em Ativar licença no botão SearchWP no painel superior.
Depois disso, insira sua chave de licença no campo Licença e pressione Ativar .
Depois de ativar sua cópia do SearchWP, você estará pronto para começar a personalizar sua pesquisa.
Etapa 2: comece a personalizar sua pesquisa
Para começar, clique em Mecanismos nas configurações do SearchWP.
Você pode adicionar, remover e personalizar seus mecanismos de pesquisa nesta guia.
O SearchWP cria automaticamente o mecanismo de pesquisa padrão após a instalação.
Ele está vinculado a todos os formulários de pesquisa existentes, portanto, personalizando-o, você pode controlar como a pesquisa funciona em seu site.
Por exemplo, você pode gerenciar a lista de suas fontes de pesquisa, fazer o WordPress considerar novos atributos de conteúdo, limitar a pesquisa a categorias específicas e muito mais.
Com o SearchWP, você pode adicionar um número ilimitado de mecanismos de pesquisa e conectá-los a formulários de pesquisa individuais em seu site.
Graças a isso, você pode criar rapidamente formulários de pesquisa personalizados para várias necessidades de negócios e colocá-los onde quiser em seu site.
Como neste tutorial queremos personalizar como a pesquisa funciona em todo o site, editaremos o mecanismo de pesquisa padrão .
Primeiro, vamos especificar onde o WordPress pesquisará conteúdo configurando sua lista de fontes de pesquisa.
Gerencie suas fontes de pesquisa
Para começar, pressione o botão Fontes e configurações na seção Mecanismo de pesquisa padrão .
Aqui você pode gerenciar onde o WordPress deve procurar correspondências. Por padrão, ele pesquisa entre Posts , Pages e arquivos de mídia .
Para remover uma fonte de pesquisa, desmarque uma caixa ao lado dela. Por exemplo, vamos limitar a pesquisa em nosso site apenas a postagens.
Para fazer isso, desmarcaremos todas as outras fontes, exceto Postagens , e clicaremos em Concluído para salvar as alterações.
Depois de configurar nossa lista de fontes de pesquisa, também vamos aprimorar nossa pesquisa fazendo com que o WordPress considere atributos de postagem e taxonomias.
Configurar seus atributos de pesquisa
Para começar, clique no botão Adicionar/Remover Atributos na seção Fonte de pesquisa de postagens .
Na janela exibida, você pode especificar atributos e taxonomias que deseja que o WordPress considere ao realizar uma pesquisa.
Para tornar um campo personalizado específico pesquisável, clique no campo Campos personalizados e digite seu nome.
Há também o atalho Any Meta Key , adicionando que você pode tornar pesquisáveis todos os campos de pesquisa existentes de uma só vez.
Quando você terminar de adicionar campos personalizados, vamos também criar taxonomias de índice do WordPress.
No WordPress, as taxonomias são um método de classificação de conteúdo e dados. Por exemplo, pode ser categorias de postagem, tags, formato ou outra coisa.
Para tornar uma nova taxonomia pesquisável, clique no campo Taxonomias e selecione a taxonomia desejada.
Por exemplo, vamos fazer o WordPress considerar as tags de postagem ao realizar uma pesquisa. Para fazer isso, escolha a opção Tags no menu suspenso.
Você também pode fazer o WordPress ignorar atributos de postagem padrão, como Title , Content , Slug e Excerpt desmarcando as caixas ao lado deles.
Depois de terminar de gerenciar os atributos de origem de pesquisa de postagens , pressione Concluído para salvar as alterações.
Agora, vamos ver como você pode restringir sua pesquisa para fornecer aos visitantes resultados mais relevantes.
Limitar a pesquisa a uma categoria de postagem específica
Para começar, pressione o botão Editar regras .
Em seguida, clique em Adicionar regra .
Aqui você pode adicionar regras de acordo com as quais o WordPress filtrará o conteúdo nos resultados da pesquisa.

Por exemplo, você pode adicionar uma regra para excluir categorias específicas de sua pesquisa ou, vice-versa, limitar sua pesquisa a elas.
Vamos supor que queremos limitar a pesquisa em nosso site de teste à categoria Notícias .
Para fazer isso, primeiro certifique-se de escolher a opção Somente mostrar entradas se: e a taxonomia de categorias .
Em seguida, insira o nome de uma categoria à qual deseja limitar sua pesquisa no campo mais à direita. No nosso caso, será o News .
Após terminar de personalizar as regras do seu mecanismo de pesquisa, clique em Concluído para salvar suas alterações.
Quando estiver satisfeito com a forma como personalizou sua pesquisa, você estará pronto para passar para a etapa final e salvar seu mecanismo de pesquisa.
Salve seu mecanismo de pesquisa
Para fazer isso, pressione Save Engines no canto superior direito do seu painel SearchWP.
Em seguida, clique em Reconstruir índice para que o WordPress reindexe todo o seu conteúdo e aplique as novas configurações do mecanismo de pesquisa.
É isso. Você personalizou a pesquisa de acordo com suas necessidades sem escrever uma única linha de código.
Vamos testar sua nova pesquisa para garantir que ela funcione de acordo com suas personalizações.
Etapa 3: teste sua nova pesquisa
Para começar, acesse seu site e faça uma pesquisa de teste. Por exemplo, como tornamos as tags de postagem pesquisáveis, vamos tentar encontrar uma postagem apenas por suas tags.
Em nosso site de teste, temos um post chamado “New WordPress Features”, que possui a tag “Updates”.
Vamos pesquisar por esta tag e ver se encontramos nosso post.
Encontramos a postagem mesmo que não haja a palavra “atualizações” em seu título, trecho ou conteúdo.
Isso significa que nosso mecanismo de pesquisa agora considera as tags de postagem ao procurar correspondências.
Vamos também garantir que a pesquisa em nosso site agora esteja limitada à categoria “Notícias”.
Para isso, buscaremos por “WordPress”, pois temos muitos posts relacionados ao WordPress em outras categorias.
Você pode ver que apenas as postagens da categoria Notícias são exibidas entre os resultados de pesquisa que obtivemos.
Isso significa que a regra que adicionamos ao nosso mecanismo de pesquisa, que diz que o WordPress deve pesquisar apenas entre as notícias, funciona como deveria.
Então, você acabou de aprender a maneira mais fácil de personalizar sua pesquisa. Agora vamos ver como você pode fazer isso sem usar um plugin.
Crie uma pesquisa personalizada no WordPress sem um plug-in
Para personalizar sua pesquisa sem um plug-in, você precisará fazer edições no seu tema.
A maneira mais segura de fazer isso é criar um tema filho do tema atual que você está usando em seu site.
Dessa forma, quando você faz alterações em um tema filho, seu tema pai permanece intocado, permitindo que você alterne rapidamente para ele em caso de erros críticos.
Além disso, ter um tema filho permite que você atualize seu tema pai sem perder suas alterações. Para obter mais detalhes sobre como criar um tema filho, confira este tutorial sobre como criar um tema filho.
Depois de criar e ativar um tema filho, você estará pronto para começar a personalizar sua pesquisa.
Para começar, navegue até Aparência » Editor de arquivos de tema no painel do WordPress.
Em seguida, encontre o arquivo functions.php no painel direito e clique nele.
Depois disso, siga as instruções abaixo dependendo de quais personalizações você deseja fazer para pesquisar em seu site.
Ative a pesquisa de postagens por tags e categorias
Para tornar tags de postagem e categorias pesquisáveis em seu site sem um plug-in, adicione o seguinte código ao arquivo functions.php do seu tema:
/* * ---------------------------------------------------------- * * Search Posts by Tags and Categories * * ---------------------------------------------------------- */ /** * Join the terms, term_relationship, and term_taxonomy tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .= " LEFT JOIN ( {$wpdb->term_relationships} INNER JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_taxonomy}.term_taxonomy_id = {$wpdb->term_relationships}.term_taxonomy_id INNER JOIN {$wpdb->terms} ON {$wpdb->terms}.term_id = {$wpdb->term_taxonomy}.term_id ) ON {$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id "; return $join; } add_filter( 'posts_join', 'search_custom_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against taxonomies. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_posts_where( $where, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } // Get additional where clause for the user. $user_where = ''; $user_id = get_current_user_id(); $status = array( "'publish'" ); // Include private posts if the user is logged in. if ( $user_id ) { $status[] = "'private'"; $user_where .= " AND {$wpdb->posts}.post_author = {$user_id}"; } $user_where .= " AND {$wpdb->posts}.post_status IN( " . implode( ',', $status ) . " ) "; $where .= " OR ( {$wpdb->term_taxonomy}.taxonomy IN( 'category', 'post_tag' ) AND {$wpdb->terms}.name LIKE '%" . esc_sql( get_query_var( 's' ) ) . "%' {$user_where} )"; return $where; } add_filter( 'posts_where', 'search_custom_posts_where', 10, 2 ); /** * Set the GROUP BY clause to post IDs. * * @global $wpdb * * @param string $groupby The GROUPBY clause. * @param WP_Query $query The current WP_Query instance. * * @return string The GROUPBY clause. */ function search_custom_posts_groupby( $groupby, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $groupby; } return "{$wpdb->posts}.ID"; } add_filter( 'posts_groupby', 'search_custom_posts_groupby', 10, 2 );
Quando terminar, pressione o botão Atualizar arquivo para salvar suas alterações.
Agora os visitantes do seu site podem pesquisar postagens por tags e categorias.
Ativar pesquisa por conteúdo de comentários e nomes de autores
Para fazer comentários e nomes de autores pesquisáveis em seu site sem um plug-in, adicione o seguinte código ao arquivo functions.php do seu tema:
/* * ---------------------------------------------------------- * * Search by Comment Content and Author Names * * ---------------------------------------------------------- */ /** * Joins the comments and posts tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_comments_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .= ' LEFT JOIN ' . $wpdb->comments . ' ON ' . $wpdb->posts . '..comment_post_ID '; return $join; } add_filter( 'posts_join', 'search_custom_comments_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against comments. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_comments_posts_where( $where, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } $where = preg_replace( "/\(\s*" . $wpdb->posts . ".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/", "(" . $wpdb->posts . ".post_title LIKE $1) OR (" . $wpdb->comments . ".comment_author LIKE $1) OR (" . $wpdb->comments . ".comment_content LIKE $1)", $where ); return $where; } add_filter( 'posts_where', 'search_custom_comments_posts_where', 10, 2 ); /** * Prevent search results duplicates. * * @param string $distinct The DISTINCT clause. * @param WP_Query $query The current WP_Query instance. * * @return string The DISTINCT clause. */ function search_custom_comments_posts_distinct( $distinct, $query ) { if ( ! is_main_query() || ! is_search() ) { return $distinct; } return 'DISTINCT'; } add_filter( 'posts_distinct', 'search_custom_comments_posts_distinct', 10, 2 );
Quando terminar, clique no botão Atualizar arquivo na parte inferior do editor para salvar suas alterações.
Agora seus visitantes podem pesquisar por conteúdo de comentários e nomes de autores.
Ativar pesquisa por campos personalizados de postagem
Para tornar os campos personalizados pesquisáveis em seu site sem um plug-in, adicione o seguinte código ao arquivo functions.php do seu tema:
/* * ---------------------------------------------------------- * * Search by Post Custom Fields * * ---------------------------------------------------------- */ /** * Joins the postmeta and posts tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_meta_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .=' LEFT JOIN '.$wpdb->postmeta. ' ON '. $wpdb->posts . '..post_id '; return $join; } add_filter( 'posts_join', 'search_custom_meta_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against postmeta. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_meta_posts_where( $where ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } $where = preg_replace( "/\(\s*" . $wpdb->posts . ".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/", "(" . $wpdb->posts . ".post_title LIKE $1) OR (" . $wpdb->postmeta . ".meta_value LIKE $1)", $where ); return $where; } add_filter( 'posts_where', 'search_custom_meta_posts_where', 10, 2 ); /** * Prevent search results duplicates. * * @param string $distinct The DISTINCT clause. * @param WP_Query $query The current WP_Query instance. * * @return string The DISTINCT clause. */ function search_custom_meta_posts_distinct( $distinct, $query ) { if ( ! is_main_query() || ! is_search() ) { return $distinct; } return 'DISTINCT'; } add_filter( 'posts_distinct', 'search_custom_meta_posts_distinct', 10, 2 );
Uma vez feito, pressione o botão Atualizar arquivo na parte inferior do editor para salvar suas alterações.
Agora seus visitantes podem pesquisar postagens por campos personalizados.
Neste artigo, você aprendeu como criar uma pesquisa personalizada em seu site sem um plug-in e por que usar um plug-in para esse objetivo é muito mais conveniente.
Esperamos que ajude você a tomar uma decisão e escolher qual método prefere usar em seu site.
Pronto para personalizar a pesquisa em seu site com apenas alguns cliques? Você pode começar com o SearchWP aqui.
Procurando uma maneira de criar um tema personalizado para o seu site? Confira nosso tutorial passo a passo sobre como criar um tema WordPress personalizado.
Quer personalizar sua página de resultados de pesquisa? Siga nosso guia de como personalizar sua página de resultados de pesquisa do WordPress.