Como excluir as páginas do resultado de busca ?

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

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:

//Alter the WordPress search to return ONLY posts, no pages (For non-admins only)
function search_filter_pages($query) {
  if (!is_admin()) {
    if ($query->is_search) { 
      $query->set('post_type', 'post');
    }
  return $query;
  }
}

add_filter('pre_get_posts','search_filter_pages');

Posts Similares

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

12 Comentários

  1. 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

  2. cara eu coloco o código no functions.php mais da é um erro (Erro de análise : erro de sintaxe, inesperado T_STRING em / home/ceara536/public_html/wp-content/themes/site-ceara-parapente/functions.php na linha 22) e ai o que é que eu caço?