X

Como contar todos os posts em uma categoria no WordPress

Snippets by IsItWP

Você está procurando uma maneira de contar todas as publicações em uma categoria e exibi-las no WordPress? Embora provavelmente exista um plug-in para isso, criamos um trecho 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 esse código ao arquivo functions.php do seu tema ou em 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 esse código para exibir a contagem de posts 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');

?>

Basta remover ‘//’ de qualquer linha de código para usá-lo.

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

Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: 15 melhores ferramentas de marketing de conteúdo e como criar um formulário de contato no WordPress.

Comentários   Deixe uma resposta

  1. Oussama Jarmouni março 6, 2022 em 4:53 pm

    Hi,
    How can i use the same function but with the ‘AND’ relation.

    only posts that have both categories will return.

  2. Md. Yasin Siddiquee agosto 11, 2020 em 11:58 am

    How can we pass the id or name dynamically?

    1. You can pass a variable to the function. For example, you could pass the first returned category id of the get_the_category() function: https://developer.wordpress.org/reference/functions/get_the_category/

      Note that this requires working with arrays and objects, as the returned value from get_the_category() is an array of objects.

      For example, you could use:

      $cat = get_the_category();
      $cat_id = $cat[0]->cat_ID;//Gets the first id

  3. With the latest version of WP, there were some bugs with all of this working right out of the box, so if anyone else has trouble:


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

    1. Hi Jason,
      Thank you for this. However, we were able to test on WordPress 5.4 and it is working for us without errors.

  4. ALSO,

    use get_the_category since get_category will error out with the latest versions of wordpress on anything that has posts and return 0 on the ones that don’t, causing a little bit of a troubleshooting conundrum.

    1. We are not seeing this. What is the error message you are getting?

  5. also it:

    return $cat->category_count;

    since count is a php function.

    1. $cat is a WP_Term object, with count being an public int property.

  6. is the any way to not put category name or id? i have so many categories. cant come to code and add each ones id or name in the code. need wordpress to do it automaticly.

    1. In your template there will be an area where it is outputting the category name, there is likely a part of that that uses a variable that is equal to the category id or slug, that you can use instead to pull the count. Something that ends up like:

      // echo count_cat_post($cat_id);

    2. You could use a for loop to cycle through the categories. You may want to use get_categories() in this case: https://developer.wordpress.org/reference/functions/get_categories/

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de 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.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!