X

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

Snippets de IsItWP

¿Estás buscando una forma de contar todas las publicaciones de una categoría y mostrarlas en WordPress? Si bien probablemente exista un plugin para esto, hemos creado un fragmento de código rápido que puedes usar para contar todas las publicaciones de una categoría en WordPress.

Instrucciones:

Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a 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;
}

Puedes usar este código para mostrar el recuento de publicaciones de una categoría en cualquier lugar de tu 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 elimina '//' de cualquiera de las líneas de código para usarlo.

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

Si le gustó este fragmento de código, considere revisar nuestros otros artículos en el sitio como: 15 mejores herramientas y plugins de marketing de contenidos para WordPress y cómo crear un formulario de contacto en WordPress.

Comentarios   Dejar una respuesta

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

    Hola,
    ¿Cómo puedo usar la misma función pero con la relación ‘Y’.

    solo las publicaciones que tengan ambas categorías serán devueltas.

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

    ¿Cómo podemos pasar el ID o el nombre dinámicamente?

    1. Puedes pasar una variable a la función. Por ejemplo, podrías pasar el ID de la primera categoría devuelta por la función get_the_category(): https://developer.wordpress.org/reference/functions/get_the_category/

      Ten en cuenta que esto requiere trabajar con arrays y objetos, ya que el valor devuelto por get_the_category() es un array de objetos.

      Por ejemplo, podrías usar:

      $cat = get_the_category();
      $cat_id = $cat[0]->cat_ID;//Obtiene el primer id

  3. Con la última versión de WP, hubo algunos errores al hacer que todo esto funcionara de inmediato, así que si alguien más tiene problemas:


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

    1. Hola Jason,
      Gracias por esto. Sin embargo, pudimos probar en WordPress 5.4 y nos está funcionando sin errores.

  4. TAMBIÉN,

    usa get_the_category ya que get_category dará error con las últimas versiones de WordPress en cualquier cosa que tenga publicaciones y devolverá 0 en las que no las tengan, causando un pequeño acertijo de solución de problemas.

    1. No estamos viendo esto. ¿Cuál es el mensaje de error que estás recibiendo?

  5. también es:

    return $cat->category_count;

    ya que count es una función de php.

    1. $cat es un objeto WP_Term, con count siendo una propiedad pública int.

  6. ¿Hay alguna forma de no poner el nombre o ID de la categoría? Tengo tantas categorías. No puedo ir al código y agregar el ID o nombre de cada una en el código. Necesito que WordPress lo haga automáticamente.

    1. En tu plantilla habrá un área donde se muestra el nombre de la categoría, es probable que haya una parte que use una variable igual al ID o slug de la categoría, que puedes usar en su lugar para obtener el conteo. Algo que termine así:

      // echo count_cat_post($cat_id);

    2. Podrías usar un bucle for para recorrer las categorías. En este caso, podrías usar get_categories(): https://developer.wordpress.org/reference/functions/get_categories/

Agregar un comentario

Nos complace que hayas elegido dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de privacidad, y todos los enlaces son nofollow. NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!