it-swarm.com.de

Post Count der aktuellen Schleife abrufen, wenn mehrere Abfragen auf einer Seite verwendet werden

Ich versuche, die aktuellen Beiträge in einer Schleife zu zählen. Ich verwende mehrere Schleifen auf einer Seite in meinem Thema. Bisher habe ich:

$my_post_count = $wp_query->post_count;

Wenn ich jedoch $ my_post_count drucke, wird die Anzahl aller Posts auf meiner WP Site zurückgegeben. Könnte es etwas damit zu tun haben, mehrere Abfragen auf einer Seite zu verwenden? Ich habe versucht, wp_reset_query nach jeder Schleife zu verwenden, um sicherzustellen, dass ich die Dinge nicht auf diese Weise wegwerfe. Was mache ich falsch?

10
pwbred

$wp_query hält die Hauptschleife der Seite und sollte nicht zum Erstellen mehrerer Schleifen verwendet werden.

Wenn Sie ein neues WP_Query-Objekt verwenden, hat Ihre Variable, die es enthält, die folgende Anzahl:

$my_query = new WP_Query();
// stuff
$count = $my_query->post_count;

Wenn Sie get_posts() verwenden, ist das WP_Query-Objekt nicht verfügbar und Sie sollten nur den zurückgegebenen Satz zählen:

$posts = get_posts();
$count = count($posts);
27
Rarst

Ich glaube, die post_count wird in der globalen gespeichert, also sollten Sie sie vor der benutzerdefinierten Schleife auf 0 setzen, da Sie sie außerhalb der Schleife verwenden können. Dies hängt jedoch davon ab, wie Sie Ihre mehreren Abfragen strukturieren. Vielleicht können Sie sie Ihrer hinzufügen Post?

Es gibt noch einen anderen Weg, den ich innerhalb der Schleife benutze, um Beiträge mit current_post + 1 zu zählen.

<?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; //counts posts in loop

     endwhile;?>
4
Wyck

Eine alternative Lösung mit WP_Query wäre:

           <?php 
               $args = array(
               'post_type' => 'post'
               );
            $the_query = new WP_Query( $args );
            $totalpost = $the_query->found_posts; 
            ?> 
0
Amritosh pandey

Einfache Methode zum Zählen des gesamten Beitrags einschließlich der Pagregation

<?php  global $wp_query
   echo $wp_query->found_posts; ?>
0
Suresh Suthar