Contar cuántas entradas hay en una categoría

24 jun 2011, 21:22:54
Vistas: 62.6K
Votos: 6

Esto es lo que estoy tratando de hacer:

si el número de entradas es mayor que 20 -> mostrar enlace a otra página (que muestra todas las entradas) si el número de entradas es menor que 20 -> no mostrar el enlace

Hasta ahora he podido obtener el número de entradas usando

$count_posts = wp_count_posts('inventory');
$published_posts = $count_posts->publish;

pero no sé cómo continuar desde aquí, ¿alguna sugerencia?

0
Todas las respuestas a la pregunta 3
0
20

Si no recuerdo mal, el conteo de publicaciones en una categoría se almacena de forma persistente en el objeto de la categoría. Así que usa get_category() o alguna variación de esta función y obtén el número del objeto.

Ejemplo de código (no probado):

$category = get_category($id);
$count = $category->category_count;

if( $count > $something ) {

    // cosas a hacer
}
24 jun 2011 22:05:00
0

Puedes acceder a eso desde el propio objeto:

foreach ( get_the_terms( get_the_ID(), 'taxonomía' ) as $termino )
{
    printf( '%s (%s)', $termino->name, $termino->count );
}
16 oct 2012 14:41:01
0

Otra forma sencilla de hacer esto es usando get_terms. Yo uso esto cuando necesito mostrar una lista de categorías Y necesito ignorar una categoría que tiene un número mínimo establecido de publicaciones.

 $cats = get_terms('category');
 foreach($cats as $cat){
     if($cat->count > 15){
     //hacer algo aquí, por ejemplo: mostrar el nombre de la categoría       
     //echo 'nombre de categoría: ' .$cat->name;
     }
 }
4 abr 2020 07:00:05