Você deseja exibir ou ocultar uma categoria dependendo do fato de ela ter ou não postagens no WordPress?
Por padrão, o WordPress não exibe categorias vazias. No entanto, às vezes você pode querer exibi-las mesmo que não tenham conteúdo.
Neste artigo, mostraremos algumas maneiras fáceis de ocultar ou exibir uma categoria no WordPress, dependendo do fato de ela ter ou não postagens.
Por que ocultar ou exibir categorias vazias no WordPress?
O WordPress vem com duas taxonomias padrão: categorias e tags. Enquanto as tags são usadas para tópicos específicos de um artigo, as categorias são usadas em um sentido muito mais amplo.
Muitos proprietários de sites usam categorias para criar diferentes seções para seus sites WordPress.
Por exemplo, no WPBeginner, temos diferentes categorias que abrangem as principais seções do nosso conteúdo geral.
Por padrão, o WordPress não mostra categorias vazias em widgets de categoria e listas de categorias.
No entanto, alguns proprietários de sites talvez ainda precisem mostrar categorias vazias em seus blogs do WordPress.
Por exemplo, se estiverem trabalhando em um design de tema personalizado ou se simplesmente quiserem que seus usuários vejam as categorias vazias e as preencham com conteúdo gerado pelo usuário.
Da mesma forma, alguns sites podem querer ocultar determinadas categorias que não têm postagens e, ao mesmo tempo, mostrar outras categorias vazias.
Neste guia, mostraremos a você como ocultar ou exibir facilmente categorias vazias no WordPress.
Como mostrar categorias vazias no WordPress
O WordPress agora usa blocos de widgets para substituir os antigos widgets clássicos. Isso torna um pouco mais difícil alterar os parâmetros usados pelo bloco de categorias para listar as categorias.
Para obter o resultado desejado, precisaremos escrever nosso próprio código para listar as categorias e, em seguida, exibi-las usando um shortcode.
Para este tutorial, você precisará adicionar algum código ao seu site WordPress. Se você não tiver feito isso antes, consulte nosso guia sobre como adicionar trechos de código personalizados no WordPress.
Primeiro, você precisa adicionar o seguinte código ao arquivo functions.php do seu tema do WordPress ou adicionar o trecho de código usando o WPCode (recomendado).
Para obter instruções detalhadas, consulte nosso guia sobre como adicionar facilmente códigos personalizados no WordPress.
function wpb_list_categories() {
// define category list parameneters
$args = array (
'echo' => false,
'title_li' => '',
'hide_empty' => 0
);
// get categories list
$display_cats = wp_list_categories($args);
//display custom categories list
return $display_cats;
}
// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');
Esse código simplesmente usa nossos próprios parâmetros para listar categorias, e um desses parâmetros é alterar o parâmetro de categoria hide_empty
.
Depois disso, você pode exibir suas categorias personalizadas adicionando o bloco de shortcode à sua barra lateral ou a outra área de widget e, em seguida, adicionando o shortcode [custom_categories_list]
dentro dele.
Quando terminar, não se esqueça de atualizar suas configurações de widgets.
Em seguida, você pode visitar seu site para ver as categorias em ação.
Ocultar categorias específicas em sua lista de categorias
Da mesma forma, você pode usar a mesma abordagem para excluir categorias que não deseja que sejam incluídas na lista de categorias.
Basta modificar o código acima da seguinte forma:
function wpb_list_categories() {
// define category list parameneters
$args = array (
'echo' => false,
'title_li' => '',
'exclude' => '12,16,21',
'hide_empty' => 0
);
// get categories list
$display_cats = wp_list_categories($args);
//display custom categories list
return $display_cats;
}
// create shortcode
add_shortcode('custom_categories_list','wpb_list_categories');
Neste código, ocultamos as categorias adicionando o parâmetro exclude. Ao lado dele, você precisa fornecer os IDs das categorias que deseja ocultar.
Dica: escrevemos um guia que mostra como encontrar IDs de categoria no WordPress.
Agora você pode exibir suas categorias personalizadas adicionando o bloco de shortcode à sua área de widget e, em seguida, adicionando o shortcode [custom_categories_list]
dentro dele.
Excluir páginas de categoria dos mecanismos de pesquisa
Se estiver exibindo categorias vazias em seu site, talvez seja melhor excluí-las dos mecanismos de pesquisa até que haja algum conteúdo nelas.
Alguns usuários também podem querer excluir algumas categorias dos mecanismos de pesquisa para evitar conteúdo duplicado e outros problemas de SEO.
Para fazer isso, você precisará instalar e ativar o plug-in All in One SEO for WordPress. Para obter mais detalhes, consulte nosso guia passo a passo sobre como instalar um plug-in do WordPress.
O All in One SEO for WordPress é o melhor plug-in de SEO para WordPress do mercado e permite que você controle facilmente a aparência do seu site nos resultados de pesquisa.
Depois de instalar o plug-in, você verá um assistente de configuração. Ele é bastante autoexplicativo, mas se você precisar de ajuda, siga nosso guia sobre como configurar o All in One SEO.
Em seguida, você precisa acessar a página Posts ” Categorias no painel do WordPress e clicar no link “Editar” abaixo da categoria que deseja excluir.
Na página Edit Category (Editar categoria), você precisa rolar para baixo até a seção All in One SEO.
Em seguida, vá para a guia “Advanced” (Avançado).
A partir daqui, você precisa desativar a opção “Configurações padrão” ao lado da configuração de robôs. Agora você verá opções para informar aos mecanismos de pesquisa que não devem seguir e indexar essa categoria.
Quando terminar, não se esqueça de clicar no botão “Update” (Atualizar) para salvar suas configurações.
O All in One SEO começará a informar aos mecanismos de pesquisa que não devem indexar ou seguir essa página específica.
Observação: as publicações do WordPress arquivadas nessa categoria ainda podem ser indexadas pelos mecanismos de pesquisa e aparecerão nos resultados de pesquisa.
Guias especializados sobre categorias do WordPress
Agora que você sabe como exibir ou ocultar categorias vazias, talvez queira ver outros tutoriais do WordPress relacionados a categorias:
- Glossário: Categoria
- Glossário: Taxonomia
- Como adicionar categorias e subcategorias no WordPress
- Categorias vs. Tags – Práticas recomendadas de SEO para classificar seu conteúdo
- Como adicionar categorias e tags a páginas do WordPress
- Como adicionar categorias a um tipo de post personalizado no WordPress
- Como alterar, mover e excluir corretamente as categorias do WordPress
- Como estilizar categorias individuais de forma diferente no WordPress
- Como impor uma categoria por postagem no WordPress
- Como renomear a categoria sem categoria no WordPress
Esperamos que este artigo tenha ajudado você a aprender como ocultar ou exibir categorias vazias no WordPress. Você também pode querer ver nosso guia sobre como mostrar conteúdo personalizado para diferentes usuários no WordPress e nossas escolhas de especialistas para os melhores plug-ins do WordPress para sites de negócios.
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.
MIke Dutton
I wonder if it possible to adapt this for Taxonomy terms. So only display something if a particular Taxonomy term has posts.
randy
OMG so helpful for running and if statement to see if there are posts in a category, regular post type or custom post type. Many thanks!
John Hartley
Easiest example I found anywhere…saved me some heartache, so thanks!
michelle
really useful, thanks. I have placed a link back to this on my own blog so that I can share it with others
Editorial Staff
Thanks Michelle
Administrador
Luke Jones
Excuse me if I’m wrong but doesn’t it do this already in the most recent versions?
Editorial Staff
Read the first two lines of the post. We already mention that using the wp-list-cats, yes it does, but if you are doing some more customization and need it hard coded without calling a function, then this is the way you will go.
Administrador
Enk.
It seems interesting but I seriously didn’t understand it. When we can name/rename a category from news to Blog. Whats the thing else than showing only if it has posts? *confused :s
Editorial Staff
This is only for very customized settings, but it is still good to know for those who does not. Yes you can rename a category, but how many times. If you have 7 custom page templates where you want to call one category 7 different names, then how would you go about it. For Sales / Splash pages, this will help.
Administrador
Enk.
ah thanks, now I can say its pretty useful. Thanks a ton !