A quase um mês atrás fiz uma colaboração com o site tudoparawordpress do Guga Alves, ele fez uma postagem sobre como mostrar posts no resultado da busca do WordPress apenas nas categorias desejadas, então estou postando agora(muito atrasado por sinal né, :D) na integra, com as palavras do Guga no post.
Segue o post no http://www.tudoparawordpress.com.br
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.:http://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. ![]()
4 respostas Até agora ↓
Simply Exclude – Esconda posts das buscas do WordPress e muitos mais… « Marcelo Torres // 11/06/2009 às 08:05
[...] categorias do menu, das buscas… isso é possível fazer se a gente matutar bastante com o PHP(como citei nesse post com o Guga do tudoparawordpress), mas como sempre, surge o “plugin salvador“, neste caso estou falando do Simply [...]
GugaAlves // 16/06/2009 às 19:39
O site não é meu, é nosso ! Todos aqueles que quiserem colaborar com o site são muito bem-vindos, ele é colaborativo justamente para isso !
Abraços !
Dhony Silva // 02/07/2009 às 17:32
Marcelo,
Trabalho dessa forma e acho ela bem simples e interessante:
<form method="get" id="searchform" action="” />
Alí no input hidden tem um value=”8″. É só inserir as categorias que você quer buscar.
Valeu.
Marcelo Torres // 02/07/2009 às 19:01
Dhony Silva, desculpa, mas não o que você disse sobre o input hidden.