Obtener el conteo de posts del loop actual cuando se usan múltiples consultas en una página
Estoy tratando de obtener un conteo de las entradas actuales dentro de un loop. Estoy usando múltiples loops en una página en mi tema. Hasta ahora tengo:
$my_post_count = $wp_query->post_count;
Pero cuando imprimo $my_post_count, devuelve el número de todas las entradas en mi sitio WP. ¿Podría tener algo que ver con el uso de múltiples consultas en una página? Intenté usar wp_reset_query después de cada loop para asegurarme de que no estaba alterando las cosas de esa manera. ¿Qué estoy haciendo mal?
$wp_query
contiene el bucle principal de la página y no debe usarse para crear múltiples bucles.
Si estás utilizando un nuevo objeto WP_Query
, entonces tu variable que lo contiene tendrá el recuento correspondiente:
$my_query = new WP_Query();
// operaciones
$count = $my_query->post_count;
Si estás usando get_posts()
entonces el objeto WP_Query
no es accesible y deberías simplemente contar el conjunto devuelto:
$posts = get_posts();
$count = count($posts);

Creo que el post_count se almacena en el global, así que antes del bucle personalizado deberías establecerlo en 0
, ya que puedes usarlo fuera del bucle, pero esto depende de cómo estés estructurando tus múltiples consultas, quizás puedas agregarlos a tu publicación.
Hay otra forma que yo uso dentro del bucle que cuenta las publicaciones usando current_post + 1
, por ejemplo.
<?php $my_query = new WP_Query();?>
<?php if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();
$count_posts = $my_query->current_post + 1; //cuenta publicaciones en el bucle
endwhile;?>
