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











muito bom o código, obrigado
Ele não exclui as páginas, mas faz com que a busca seja feita apenas nas categorias.. alguma diferença nisso meu amigo ?
Esse código está incorreto amigo, ele não exlclui essas páginas, ele busca apenas nelas.
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