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

  • Como adicionar um favicon para seu site WordPress

    Vamos a uma dica muito legal para adicionar um favicon ao seu blog no WordPress, encontrada no Blog do The Best e ajustada e simplificada para tirar a dúvida de uma visitante de nosso blog que me mandou um email e motivou esta dica 🙂 O que é o tal do favicon? Ele nada mais…

  • Loops personalizados no WordPress

    Em muitas situações precisamos modificar a query natural do WordPress, para eliminar categorias ou posts da listagem, para exibir um tipo de post específico, enfim para várias finalidades. Se você quer, por exemplo, listar apenas posts das categorias 2 e 6 ou esconder os psts da categoria 15… não há um link natural para essas…

  • Alterando o link de login do WordPress

    Como já é de conhecimento de todos que estão familiarizados com nosso querido WordPress, a url padrão para login em nosso sistema é: Entretanto, quando fazemos um site em WordPress para um cliente a coisa já caminha de um modo diferente. Sim minha gente, já recebi ligação perguntando “Como eu entro mesmo no WordPress ?…

  • Como customizar a mensagem Leia Mais, exibida pela tag more

    Como todos nós já sabemos, a tag <!–more–> funciona para quebrarmos a exibição de uma postagem na página inicial… tudo o que estiver acima dela será exibido, e em seu lugar teremos a exibição de uma mensagem padrão, como ‘Leia Mais’ , ‘Read More’, ‘Read This Article’, ou algo neste sentido. Na minha humilde concepção,…

  • Como excluir uma categoria do feed RSS

    Temos o seguinte cenário: em um blog WordPress, temos uma categoria que não deve ser exibida via RSS.. como proceder para que tal categoria seja removida ? Simples ! Adicione a função abaixo no arquivo functions.php function myFilter($query) { if ($query->is_feed) {  $query->set(‘cat’,’-5′); } return $query; } add_filter(‘pre_get_posts’,’myFilter’); Lembre-se de alterar o id da categoria…

  • Utilizando o operador de módulo no loop

    Na maior parte das linguagens de programação existe um operador específico, por vezes esquecido pelos programadores, para operações de módulo. Seu símbolo, na maioria das linguagens, é a % (o que pode causar alguma confusão para os novatos). O PHP não foge à regra e também possui este operador de módulo, sendo o seu símbolo…

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?