Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Copa WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Como exibir somente a categoria pai no loop de posts do WordPress

Nota editorial: Ganhamos uma comissão de links de parceiros no WPBeginner. As comissões não afetam as opiniões ou avaliações de nossos editores. Saiba mais sobre Processo editorial.

Deseja exibir apenas a categoria principal para suas postagens no WordPress?

Por padrão, a maioria dos temas do WordPress listará todas as categorias associadas a um post. No entanto, alguns usuários podem querer exibir apenas a categoria principal e excluir as categorias secundárias.

Neste artigo, mostraremos como modificar o loop de postagem do WordPress para exibir somente a categoria principal em uma única postagem.

Displaying only the parent category in WordPress loop

Quando exibir somente a categoria principal no WordPress

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

Por exemplo, um blog de viagens pode ter destinos de viagem organizados por categorias em que cada região é uma categoria principal e as cidades são categorias secundárias.

Parent and child categories displayed

Da mesma forma, um blog de culinária pode publicar receitas organizadas em categorias principais e secundárias. Por exemplo, uma categoria principal pode ser o tipo de cozinha e uma categoria secundária 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 um post.

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

Dito isso, vamos dar uma olhada em como alterar esse comportamento e exibir apenas a categoria principal no loop do WordPress.

Exibir somente a categoria pai no loop de postagem do WordPress

Para este tutorial, você precisará editar seus arquivos de tema do WordPress. Se você não tiver feito isso antes, consulte nosso artigo sobre como copiar e colar trechos de código no WordPress.

Primeiro, você precisa adicionar o seguinte código ao arquivo functions.php do seu tema ou usar um plug-in de snippets de código, como o WPCode (recomendado):

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);
}

Para obter mais detalhes, consulte nosso guia sobre como adicionar código personalizado no WordPress sem danificar seu site.

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

Em seguida, você precisa colocar essa função nos arquivos de tema do WordPress onde deseja exibir apenas a categoria principal.

Para descobrir qual arquivo de modelo deve ser examinado, consulte nossa folha de dicas de hierarquia de modelos do WordPress para iniciantes.

Basicamente, você procurará a tag de modelo the_category(); dentro do loop do WordPress. Depois de encontrá-la, você precisará substituí-la pelo código a seguir:

<?php wpb_get_parent_terms(); ?> 

Esse código exibirá apenas sua categoria principal.

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

Only parent category displayed

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

Basta modificar o código da seguinte forma:

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

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

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

Only parent product category displayed

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

Guias especializados sobre a exibição de categorias no WordPress

Agora que você já sabe como exibir somente a categoria principal para as postagens do WordPress, talvez queira ver outros guias relacionados à exibição de categorias no WordPress:

Esperamos que este artigo tenha ajudado você a aprender como exibir somente a categoria pai para seus posts do WordPress. Talvez você também queira ver nosso guia sobre como exibir campos personalizados fora do loop ou nossa escolha especializada do melhor software de chatbot de IA para seu site.

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.

Divulgação: Nosso conteúdo é apoiado pelo leitor. Isso significa que, se você clicar em alguns de nossos links, poderemos receber uma comissão. Veja como o WPBeginner é financiado, por que isso é importante e como você pode nos apoiar. Aqui está nosso processo editorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

O kit de ferramentas definitivo WordPress

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

Reader Interactions

12 ComentáriosDeixe uma resposta

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

Deixe uma resposta

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