O que você está procurando?

Aperte Enter para buscar ou ESC para fechar

Fazendo a busca do WordPress funcionar apenas para algumas categorias

2 min de leitura

Me passou pela cabeça a seguinte questão: Como excluir algumas categorias da busca do WordPress ?

Passou pela sua também ? Então continue lendo esse post, a dica vem logo abaixo !

Adicione o código ao arquivo search.php:

<?php if( is_search() )  :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("s=$s&paged=$paged&cat=9,11,16");
endif; ?>

A seleção das categorias que farão parte da busca se dá na terceira linha, onde se lê cat=9,11,16 , troque pelo ID das categorias que você deseja exibir. O ID das categorias, conforme já expliquei em outras postagens, pode ser obtido em Posts -> Categorias posicionando o mouse no nome da categoria e vendo na barra de status (no rodapé de seu navegador) o cat_ID exibido (Ex.:https://www.seusite.com.br/wp-admin/categories.php?action=edit&cat_ID=4).

Update:

Nosso leitor e agora colaborador Marcelo Torres enviou uma outra maneira de se fazer tal alteração, segue abaixo:

<?php get_header(); ?>
<div id=”conteudo”>
<?php if (have_posts()) : ?>

<h1>Resultado(s) da busca por: “<?php the_search_query();?>”</h1>
<div id=”box”>
<?php while (have_posts()) : the_post(); ?>
<div class=”box_busca”>
<?php if ( in_category(3) || in_category (13) || in_category (14) || in_category (15) ): ?>
<?php else : ?>
<a href=”<?php the_permalink() ?>” title=”<?php the_title(); ?>”><?php the_title(); ?></a>
<?php the_excerpt(); ?>
<?php endif; ?>
</div>
<?php endwhile; ?>
</div>
<?php else : ?>

<p>Nada encontrado. Verifique o termo de pesquisa e tente outra vez!</p>

<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

A linha:

<?php if ( in_category(3) || in_category (13) || in_category (14) || in_category (15) ): ?>

É aonde você escolhe a categoria que não quer que escolha no post, com a sintaxe: in_category(ID);

Além disso, contribuindo ainda mais com o conteúdo desta postagem, nos avisou de um plugin chamado Advanced Category Excluder que esconde todos os posts de uma determinada categoria, porém ele não esconde apenas dos resultados de busca, esconde também do feed, posts recentes, lista de categorias, entre outros.

Marcelo, obrigado pela colaboração ! Sempre que tiver algo a acrescentar assim, pode entrar em contato ou enviar você mesmo uma matéria, registrando-se no site e fazendo sua postagem. 😀

Compartilhar este artigo
Guga Alves

Guga Alves

• WordPress e web

Desbravando o mundo WordPress desde 2007, me especializei também em SEO e entreguei grandes projetos no mercado brasileiro para a partir de 2015 me dedicar ao mercado fora do Brasil. Trabalhei na empresa do criador do WordPress por 4 anos (no WordPress.com, da Automattic) e mais 4 anos em uma das maiores empresas de hospedagens do mundo, a Liquid Web, gerenciando uma equipe de suporte do plugin The Events Calendar. No Brasil, atendi grandes marcas como canal Futura, Corpo Perfeito, Catraca Livre, Hostgator Brasil e Hostnet, também palestrei em diversos eventos e dei aula em cursos livres e pós-graduação (no Rio de Janeiro e em Brasília). Trabalho remoto, viajo bastante, mas minha base é no Rio de Janeiro/RJ.

X GitHub Sobre mim
Leituras Complementares

Continue lendo

Ver todos em Dicas WordPress →

Discussão & Respostas (8)

Espaço moderado para debates técnicos
  1. Marcelo Torres
    Marcelo Torres
    ↳ Responder

    Pode deixar Guga, sempre que tiver algo interessante postarei aqui

    fuii

  2. BlackFox
    BlackFox
    ↳ Responder

    Vou usar em meu blog

  3. dubxenon.com
    dubxenon.com
    ↳ Responder

    kra, foda essa dica sua…. tava procurando e achei em vários lugares, e só erro na hora de fazer…… mas essa veio pronta, parabéns….

    e agora vou perguntar, não sei se aqui seria o melhor lugar, mas aproveitando….

    sabe quando passa o mouse em cima das categorias, e aparece um texto, alt title…. “Ver todos os posts em…” ; “Ver todos os posts arquivados em….”

    eu precisava trocar esse texto ou então retirar essa função de mostrar o texto, dá uma força aí…. abs

  4. Baciotti
    Baciotti
    ↳ Responder

    Tem como uma busca no wordpress pesquisar termos em outra página?
    Exemplo: o site http://www.X.com tem uma index, mas nesse site, tem varias vertentes, por exemplo X.com/lojadedoce e X.com/lojadebebidas.
    Com uma busca na index do X.com é possivel buscar nesses outros diretórios?
     
    valeuuuu!

  5. Willy Chagas
    Willy Chagas
    ↳ Responder

    Legal, o problema seria se eu tivesse muitas categorias o codigo ficaria muito grande! como minimizar? em vez de colocar AND AND AND…
    ??
    valeuu

  6. Lázaro Rodrigues
    Lázaro Rodrigues
    ↳ Responder

    Muito bom o post, parabéns!

  7. Márcio
    ↳ Responder

    Muito Show este post…Procurava outra coisa e acabei aprendendo outra…Será que alguem pode me ajudar. Preciso que a busca funcione pesquisando os campos personalizados de um post. Como fazer isto????

Deixe sua contribuição técnica

Seu e-mail não será publicado. Blocos de código em markdown são aceitos com crases triplas.