Como Exibir Apenas a Categoria Pai no Loop de Posts do WordPress

Todos sabemos o quão importante é organizar o conteúdo em um site. Na WPBeginner, entendemos que o uso de categorias e subcategorias ajuda os visitantes a explorar seu site e melhora a forma como ele é classificado nos resultados de pesquisa. Uma boa estrutura de categorias também ajuda os visitantes a encontrar o que precisam.

A maioria dos temas do WordPress listará automaticamente todas as categorias associadas a um post, incluindo as subcategorias. Isso pode tornar as coisas muito confusas para seus visitantes. No entanto, recentemente tivemos um leitor que queria exibir apenas a categoria principal em sua página de post único. Eles queriam que seus visitantes se concentrassem no tópico principal em vez de serem sobrecarregados por muitas subcategorias.

Neste artigo, mostraremos como usar um simples trecho de código para modificar a forma como o WordPress exibe as categorias. Isso permitirá que você exiba apenas a categoria principal em uma página de post único, o que pode melhorar muito a experiência do seu site para os visitantes.

Exibindo apenas a categoria pai no loop do WordPress

Quando Exibir Apenas a Categoria Pai no WordPress

Muitos proprietários de sites usam categorias pai e filhas para criar uma estrutura para seus sites.

Por exemplo, um blog de viagens pode ter destinos de viagem organizados por categorias, onde cada região é uma categoria pai e as cidades são categorias filhas.

Categorias pai e filho exibidas

Da mesma forma, um blog de culinária pode publicar receitas organizadas em categorias pai e filho. Por exemplo, uma categoria pai pode ser o tipo de culinária e uma categoria filho pode ser o tipo de prato.

Agora, a maioria dos temas do WordPress usa a tag de modelo the_category() para listar todas as categorias associadas a uma postagem.

Essa função é eficiente, mas exibirá todas as categorias em ordem alfabética e ignorará completamente a relação pai/filho.

Dito isso, vamos ver como mudar esse comportamento e exibir apenas a categoria pai no loop do WordPress.

Exibir Apenas a Categoria Pai no Loop de Posts do WordPress

Para este tutorial, você precisará editar os arquivos do seu tema do WordPress. Se você nunca fez isso antes, confira nosso artigo sobre como copiar e colar snippets de código no WordPress.

Primeiro, você precisa adicionar um código ao arquivo functions.php do seu tema ou usar um plugin de snippets de código. Recomendamos o uso do WPCode porque ele permite adicionar código sem quebrar seu site, e sua validação inteligente de snippets de código ajuda a prevenir erros comuns de código.

Saiba mais em nosso guia sobre como adicionar código personalizado no WordPress sem quebrar seu site.

Para este tutorial, usaremos a versão gratuita do WPCode. Embora não tenha todos os recursos avançados da versão completa, ela vem com tudo o que você precisa para começar.

A primeira coisa que você precisa fazer é instalar e ativar o plugin WPCode. Se precisar de ajuda, siga nosso guia passo a passo sobre como instalar um plugin do WordPress.

Após a ativação, você pode ir para a página WPCode » Novo Snippet

Adicionando um Novo Snippet no WPCode

Isso abrirá uma página onde você pode criar um snippet personalizado.

Primeiro, você precisa adicionar um título para o snippet. Depois disso, você pode copiar e colar o seguinte trecho de código na área de visualização do código.

function wpb_get_parent_terms($taxonomy = 'category')
{
    $currentPost = get_post();
    $terms       = get_the_terms($currentPost->ID, $taxonomy);

    if (is_wp_error($terms)) {
        /** @var \WP_Error $terms */
        throw new \Exception($terms->get_error_message());
    }

    $map = array_map(
        function ($term) use ($taxonomy) {
            return '<a href="' . esc_url(get_term_link($term->term_id,
                    $taxonomy)) . '" title="' . esc_attr($term->name) . '">
                ' . $term->name . '
                </a>';
        },
        array_filter($terms, function ($term) {
            return $term->parent == 0;
        })
    );

    return implode(', ', $map);
}
Adicionando um Título e um Trecho de Código ao WPCode

Em seguida, você precisa selecionar a opção ‘PHP Snippet’ no menu suspenso Tipo de Código e alternar o interruptor Inativo para Ativo.

Finalmente, certifique-se de clicar no botão ‘Salvar Snippet’ para armazenar suas configurações.

No WPCode, selecione PHP como o Tipo de Código e Ative o Snippet

Este código simplesmente cria uma nova função wpb_get_parent_terms(). Por padrão, esta função exibirá apenas as categorias pai.

Em seguida, você precisa colocar esta função nos arquivos do seu tema WordPress onde você deseja exibir apenas a categoria pai.

Para descobrir qual arquivo de modelo procurar, consulte nossa planilha da hierarquia de modelos do WordPress para iniciantes.

Basicamente, você estará procurando pela tag de modelo the_category() dentro do loop do WordPress. Assim que encontrá-la, você precisará substituí-la pelo seguinte código:

<?php wpb_get_parent_terms(); ?> 

Este código exibirá apenas a sua categoria pai.

Se você tiver várias categorias que são categorias pai ou autônomas, todas essas categorias também serão exibidas.

Apenas a categoria pai exibida

O trecho de código funcionará para todas as outras taxonomias também. Por exemplo, categorias de produtos WooCommerce ou qualquer taxonomia personalizada que você possa ter.

Simplesmente modifique o código assim:

<?php wpb_get_parent_terms( 'product_cat '); ?>

Este código exibirá as categorias de produtos para uma loja WooCommerce.

Ele também exibirá apenas as categorias pai ou autônomas para um produto.

Apenas a categoria de produto pai exibida

Se você quiser exibir uma taxonomia personalizada, substitua product_cat pelo nome da sua taxonomia personalizada.

Guias de Especialistas sobre Exibição de Categorias no WordPress

Esperamos que este artigo tenha ajudado você a aprender como exibir apenas a categoria pai para suas postagens do WordPress. Você também pode querer ver outros guias relacionados à exibição de categorias do WordPress:

Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.

Aviso: Nosso conteúdo é apoiado pelos leitores. Isso significa que, se você clicar em alguns de nossos links, poderemos ganhar uma comissão. Veja como o WPBeginner é financiado, por que isso importa e como você pode nos apoiar. Aqui está nosso processo editorial.

O Kit de Ferramentas Definitivo para WordPress

Obtenha acesso GRATUITO ao nosso kit de ferramentas - uma coleção de produtos e recursos relacionados ao WordPress que todo profissional deve ter!

Interações do Leitor

11 CommentsLeave a Reply

  1. coloque carimbos de data em seus posts. desta forma sabemos quando você escreveu e não incluímos trechos de código com 5 anos de idade.

Deixe uma resposta

Obrigado por escolher deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de comentários, e seu endereço de e-mail NÃO será publicado. Por favor, NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.