Sua página inicial do WordPress deve mostrar seu melhor conteúdo. Mas, e se você tiver categorias que não pertencem a essa página? Nesse caso, talvez você queira excluir uma categoria específica da página inicial do seu site.
Por padrão, o WordPress exibe publicações de todas as categorias em sua página inicial. Isso pode levar a uma experiência desordenada, especialmente se você tiver categorias destinadas ao uso interno ou a públicos específicos.
Neste artigo, mostraremos como excluir facilmente uma categoria da sua página inicial do WordPress usando dois dos melhores métodos que encontramos.
Por que excluir uma categoria da página inicial do WordPress?
O WordPress permite que você classifique o conteúdo em categorias e tags. Às vezes, você pode querer usar uma categoria para publicações que não fazem parte das entradas normais do seu blog.
Por padrão, o WordPress não permite que você oculte postagens em categorias específicas da página inicial ou dos arquivos. Isso faz com que postagens indesejadas apareçam em sua página inicial.
Dito isso, vamos ver como você pode excluir facilmente uma categoria específica da sua página inicial do WordPress. Mostraremos dois métodos diferentes e você poderá escolher o que melhor atende às suas necessidades.
Método 1: Excluir uma categoria do WordPress usando um plug-in
A primeira coisa que você precisa fazer é instalar e ativar o plug-in Ultimate Category Excluder. Para obter mais detalhes, você deve seguir nosso guia sobre como instalar um plug-in do WordPress.
Após a ativação, você precisará ir para a página Settings ” Category Excluder. Ela exibirá todas as categorias que estão disponíveis em seu blog do WordPress.
A partir daqui, você pode simplesmente marcar uma ou várias categorias na coluna “Excluir da página inicial”. Se desejar, você também pode excluir a categoria de feeds RSS, arquivos ou até mesmo da pesquisa do WordPress.
Não se esqueça de clicar no botão “Update” (Atualizar) para armazenar essas configurações.
Agora você pode visitar seu site e ver que as postagens das categorias selecionadas foram excluídas da página inicial.
Método 2: Excluir uma categoria da página inicial do WordPress usando o código
Esse método exige que você adicione código aos seus arquivos do WordPress. Se você nunca fez isso antes, consulte nosso guia sobre como copiar e colar trechos de código no WordPress.
Você precisará adicionar o seguinte código ao arquivo functions.php do seu tema, a um plug-in específico do site ou a um plug-in de snippets de código.
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
Não se esqueça de substituir o ID (-5) pelo ID de sua categoria. Isso ocultará todas as postagens de blog da página inicial pertencentes à categoria que corresponde a esse ID.
Observação: Certifique-se de adicionar um sinal de menos (-) ao ID da categoria.
Não tem certeza de como encontrar o ID da categoria? Consulte nosso guia sobre como encontrar IDs de categoria no WordPress.
A maneira mais segura e fácil de adicionar esse código no WordPress é usar o plug-in WPCode. Ele permite que você adicione códigos personalizados sem editar diretamente os arquivos do WordPress. Portanto, você não precisa se preocupar com a possibilidade de danificar seu site.
Para começar, você precisará instalar e ativar o plug-in gratuito WPCode. Se precisar de ajuda, consulte este guia sobre como instalar um plug-in do WordPress.
Depois que o WPCode for ativado, vá para Code Snippets ” + Add Snippet em seu painel do WordPress.
Em seguida, passe o mouse sobre a opção “Add Your Custom Code (New Snippet)” e clique no botão “Use snippet” abaixo dela.
A partir daí, você precisa selecionar “PHP Snippet” como o tipo de código na lista de opções que aparece na tela.
Na página “Criar snippet personalizado”, você pode começar adicionando um título para o snippet. Ele pode ser qualquer coisa que o ajude a lembrar para que serve o código.
Em seguida, basta colar o código acima na caixa “Code Preview” (Visualização de código).
Depois disso, tudo o que você precisa fazer é alternar a chave de “Inativo” para “Ativo” e clicar no botão “Salvar snippet” na parte superior da página.
Se você quiser excluir várias categorias, poderá alterar o código da seguinte forma:
function exclude_category_home( $query ) {
if ( $query->is_home ) {
$query->set( 'cat', '-5, -9, -23' );
}
return $query;
}
add_filter( 'pre_get_posts', 'exclude_category_home' );
Basta substituir os IDs (-5, -9, -23) pelos IDs de sua categoria para excluí-los da página inicial do WordPress.
Esperamos que este artigo tenha ajudado você a aprender como excluir uma categoria da sua página inicial do WordPress. Talvez você também queira ver esses hacks e plug-ins de categoria mais procurados para o WordPress, que o ajudarão a usar as categorias com mais eficiência, ou nossas escolhas de especialistas dos melhores plug-ins de formulário de contato para o WordPress.
Se você gostou deste artigo, inscreva-se em nosso canal do YouTube para receber tutoriais em vídeo sobre o WordPress. Você também pode nos encontrar no Twitter e no Facebook.
Joseph
Will using the Ultimate Category Excluder plugin block Googlebot from crawling posts in that particular category? I don’t want my site users to access a particular category.
WPBeginner Support
As long as the pages can be found in some way by Google from something like a sitemap or other page on your site then there the crawler would be fine.
Administrador
Johan
As always: a huge THANKS for all your great tutorials!
Excluding a category the functions.php-way works great for me. BUT: I find that the same category is also excluded from a custom WP_Query that I put on a profile page. Why is that?
My query:
$the_query = new WP_Query( array( ‘meta_key’ => ‘fetcher’, ‘meta_value’ => $user_ID ) );
WPBeginner Support
Glad it was helpful, the code should only affect the home page, one possibility you could check would be to see if your caching could be the culprit.
Administrador
Johan Hagvil
I found the solution!
Changing the second line of my snippet to:
if ( $query->is_main_query() && $query->is_front_page() ) {
WPBeginner Support
Thank you for sharing for anyone else who may be running into the same error!
metin
Let’s assume the id of the blog category is 1. Can I add php code about showing all ids greater than -2 so that it doesn’t show all categories greater than 1. Can there be a method that will work with php code that will work dynamically instead of adding an id every time?
WPBeginner Support
For what you’re wanting to achieve, it would be better to select the categories you want to show instead of trying to exclude all other categories. You can see how to do this in our article below!
https://www.wpbeginner.com/wp-tutorials/how-to-display-recent-posts-from-a-specific-category-in-wordpress/
Administrador
Isaac
thanks genius this works perfectly
WPBeginner Support
Glad our guide was helpful
Administrador
Abdullah Al Muaz
thanks dude. it works.
Abdullah Al Muaz
i use a specific page to display recent posts. so i think for my case it should not be /code $query->is_home /code
what should i put instead of “home”
i want to hide specific category from “blog”
WPBeginner Support
The code should work the same for your blog page if you set a page for your recent posts.
Administrador
MENHADI HASAN
Hi,
How to exclude whole category and custom from the search form or can I modified search form to just search by a specific taxonomy rest all are excluded from the search
WPBeginner Support
For hiding content from your search, you would want to take a look at our page here: https://www.wpbeginner.com/plugins/how-to-exclude-specific-pages-authors-and-more-from-wordpress-search/
Administrador
Sidchan Mall
Thanks for the tip, I began using the plugin to exclude theme-specific content posts (testimonials, sliders) on my website!
WPBeginner Support
You’re welcome, glad our guide could help
Administrador
Paolo
I followed the Method 2 instructions, but after the change the media library doesn’t work anymore!
WPBeginner Support
The code should not affect your media library unless there is a larger error that is affecting your site. It would depend on the error message for the reason.
Administrador
Christopher
Thanks for this article.
I want to ask if it’s also possible to exclude Google Adsense ads from some specific categories