X

Cómo contar todas las entradas de una categoría en WordPress

Snippets by IsItWP

¿Está buscando una manera de contar todas las entradas de una categoría y mostrarlo en WordPress? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que se puede utilizar para contar todos los mensajes en una categoría en WordPress.

Instrucciones:

Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:

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

Puede utilizar este código para mostrar el recuento de entradas de una categoría en cualquier lugar de su sitio web, ya sea por ID de categoría o por nombre de categoría:

<?php

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

?>

Simplemente elimine ‘//’ de cualquiera de las líneas de código para utilizarlo.

Nota: Si es la primera vez que añades fragmentos de código en WordPress, consulta nuestra guía sobre cómo añadir correctamente fragmentos de código en WordPress, para no romper accidentalmente tu sitio.

Si te ha gustado este fragmento de código, por favor considere revisar nuestros otros artículos en el sitio como: 15 mejores herramientas de marketing de contenidos y cómo crear un formulario de contacto en WordPress.

Comentarios   Deja una respuesta

  1. Oussama Jarmouni marzo 6, 2022 en 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 en 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/

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!