X

Como Contar Todas as Postagens em uma Categoria no WordPress

Snippets por IsItWP

Você está procurando uma maneira de contar todas as postagens em uma categoria e exibi-la no WordPress? Embora provavelmente exista um plugin para isso, criamos um snippet de código rápido que você pode usar para contar todas as postagens em uma categoria no WordPress.

Instruções:

Tudo o que você precisa fazer é adicionar este código ao arquivo functions.php do seu tema ou a um plugin específico do site:

function count_cat_post($category) {
if(is_string($category)) {
	$catID = get_cat_ID($category);
}
elseif(is_numeric($category)) {
	$catID = $category;
} else {
	return 0;
}
$cat = get_category($catID);
return $cat->count;
}

Você pode usar este código para exibir a contagem de postagens de uma categoria em qualquer lugar do seu site, seja por ID da categoria ou nome da categoria:

<?php

// echo  count_cat_post('1');
// echo  count_cat_post('General');

?>

Simplesmente remova '//' de qualquer linha de código para usá-la.

Observação: Se esta é a sua primeira vez adicionando trechos de código no WordPress, consulte nosso guia sobre como adicionar trechos de código corretamente no WordPress, para não quebrar acidentalmente seu site.

Se você gostou deste snippet de código, considere conferir nossos outros artigos no site, como: 15 melhores ferramentas e plugins de marketing de conteúdo para WordPress e como criar um formulário de contato no WordPress.

Comentários   Deixe uma Resposta

  1. Oussama Jarmouni March 6, 2022 at 4:53 pm

    Olá,
    Como posso usar a mesma função, mas com a relação 'E'.

    apenas postagens que têm ambas as categorias serão retornadas.

  2. Md. Yasin Siddiquee August 11, 2020 at 11:58 am

    Como podemos passar o ID ou nome dinamicamente?

    1. Você pode passar uma variável para a função. Por exemplo, você poderia passar o primeiro ID de categoria retornado pela função get_the_category(): https://developer.wordpress.org/reference/functions/get_the_category/

      Observe que isso requer trabalhar com arrays e objetos, pois o valor retornado por get_the_category() é um array de objetos.

      Por exemplo, você poderia usar:

      $cat = get_the_category();
      $cat_id = $cat[0]->cat_ID;//Pega o primeiro id

  3. Com a versão mais recente do WP, houve alguns bugs com tudo isso funcionando corretamente de imediato, então se alguém mais tiver problemas:


    function count_cat_post($catslug){
    $CategoryTerms = get_term_by('slug', $catslug, 'category');
    if(!$CategoryTerms){
    return 0;
    }
    return $CategoryTerms->count;
    }

    1. Olá Jason,
      Obrigado por isso. No entanto, conseguimos testar no WordPress 5.4 e está funcionando para nós sem erros.

  4. TAMBÉM,

    use get_the_category, pois get_category retornará um erro com as versões mais recentes do wordpress em qualquer coisa que tenha posts e retornará 0 nas que não têm, causando um pequeno dilema de solução de problemas.

    1. Não estamos vendo isso. Qual é a mensagem de erro que você está recebendo?

  5. também isso:

    return $cat->category_count;

    já que count é uma função php.

    1. $cat é um objeto WP_Term, com count sendo uma propriedade pública int.

  6. existe alguma maneira de não colocar o nome ou id da categoria? tenho tantas categorias. não consigo vir ao código e adicionar cada id ou nome no código. preciso que o wordpress faça isso automaticamente.

    1. Em seu template haverá uma área onde ele está exibindo o nome da categoria, provavelmente há uma parte que usa uma variável igual ao id ou slug da categoria, que você pode usar em vez disso para obter a contagem. Algo que acaba assim:

      // echo count_cat_post($cat_id);

    2. Você pode usar um loop for para percorrer as categorias. Você pode querer usar get_categories() neste caso: https://developer.wordpress.org/reference/functions/get_categories/

Adicionar um Comentário

Ficamos felizes que você escolheu deixar um comentário. Por favor, tenha em mente que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

Checklist de Lançamento WordPress

O Checklist Definitivo para Lançamento de WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento do seu próximo site WordPress em um e-book prático.
Sim, envie-me o eBook Gratuito!