Como excluir as páginas do resultado de busca ?

Postado por Guga Alves  
No dia 9 de fevereiro de 2010


Uma maneira de se excluir as páginas do resultado de busca é usar o plugin Simply-Exclude plugin.

Entretanto, como sou adepto da filosofia "Quanto menos plugins melhor", outra solução interessante é adicionar um filtro no functions.php que adicione na busca apenas as categorias desejadas, excluindo assim todo o restante:

// Remove pages from search
function mySearchPostsFilter($query)
{
if ($query->is_search)
{
$query->set('cat','12,14,16,17,18'); // your category IDs
}
return $query;
}
add_filter('pre_get_posts','mySearchPostsFilter');

Só lembre de substituir os IDs das categorias, em $query->set('cat,'‘12,14,16,17,18′) pelos IDs correspondentes as categorias de seu blog, ok ? Estes números são apenas exemplos.

Update: uma forma mais simples: $query->set('post_type', 'post'); Com isso você deixará claro que apenas postagens devem ser exibidas na busca, excluindo as páginas e eliminando a necessidade de colocar os ids de cada categoria do blog. Obrigada @renatatr pela dica !

Dica retirada do site Web-Kreation


Leia também:

  1. Como excluir uma categoria do feed RSS Temos o seguinte cenário: em um blog WordPress, temos uma...
  2. Como encontrar o ID de suas páginas? Quando você adiciona um widget para gerenciar as páginas de...
  3. Como exibir o número de resultados na busca do WordPress Abra o arquivo search.php. Nele, procure pela seguinte linha: <h2...
  4. Fazendo a busca do WordPress funcionar apenas para algumas categorias Me passou pela cabeça a seguinte questão: Como excluir algumas...
  5. Plugin Wp Page Numbers – Numerando as Páginas O Plugin Wp Page Numbers é um plugin que facilita a navegação...

Comentários



4 Respostas em “Como excluir as páginas do resultado de busca ?”

  1. Eder Ribeiro em 20 de abril de 2010 as 12:00

    muito bom o código, obrigado

  2. Guga Alves em 5 de março de 2010 as 14:01
    Guga Alves

    Ele não exclui as páginas, mas faz com que a busca seja feita apenas nas categorias.. alguma diferença nisso meu amigo ?

  3. Adriano em 4 de março de 2010 as 14:08

    Esse código está incorreto amigo, ele não exlclui essas páginas, ele busca apenas nelas.

  4. Renata Tibiriçá em 9 de fevereiro de 2010 as 9:38

    Muitooooo legal essa dica! Eu que o diga, ne! hahaha
    Uma coisa bem legal que descobri tb é que, ao invés de vc setar os IDs das categorias, vc pode definir que apareçam somente posts assim:
    $query->set('post_type', 'post');
    Dae não precisa ficar pondo número de categoria lá toda hora q vc quiser excluir uma nova! =D

Sinta-se livre para deixar um comentario...
Se você quiser uma foto para ser mostrada no seu comentário, crie um gravatar!