Ermitteln Sie die Anzahl der Beiträge der aktuellen Schleife, wenn Sie mehrere Abfragen auf einer Seite verwenden
4 Antworten
- Stimmen
-
- 2011-10-16
$wp_query
enthält die Hauptschleife der Seite und solltenicht zum Erstellenmehrerer Schleifen verwendet werden.Wenn Sieein neues
WP_Query
-Objekt verwenden,hat Ihre Variable,dieesenthält,diefolgende Anzahl:$my_query = new WP_Query(); // stuff $count = $my_query->post_count;
Wenn Sie
get_posts()
verwenden,ist auf das ObjektWP_Query
nicht zugegriffen,und Sie solltennur den zurückgegebenen Satz zählen:$posts = get_posts(); $count = count($posts);
$wp_query
hold main loop of page and should not be used to create multiple loops.If you are using new
WP_Query
object then your variable that holds it will have according count:$my_query = new WP_Query(); // stuff $count = $my_query->post_count;
If you are using
get_posts()
thenWP_Query
object is not accessible and you should just count returned set:$posts = get_posts(); $count = count($posts);
-
Hinweis: Wenn Sie sichin der Hauptschleifebefinden,können Sie über `global $ wp_query` auf` WP_Query` zugreifenNote: If you are in the main loop, you can access `WP_Query` through `global $wp_query`
- 0
- 2019-10-22
- mrmadhat
-
- 2011-10-16
Ichglaube,derpost_count wirdin derglobalen Schleifegespeichert. Daher sollten Sieihn vor derbenutzerdefinierten Schleife auf
0
setzen,da Sieihn außerhalb der Schleife verwenden können. Dies hängtjedoch davon ab,wie Sie Ihre Schleife strukturierenMehrere Abfragen,vielleicht können Sie sie Ihrem Beitrag hinzufügen?Esgibt eine andere Möglichkeitinnerhalb der Schleife,die Beiträge zählt,zum Beispielmit
current_post + 1
.<?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;?>
I believe the post_count is stored in the global, so before the custom loop you should set it to
0
, since you can use it outside the loop, but this depends on how you are structuring your multiple query's, maybe you can add them to your post?There is another way that I use within the loop that counts posts using
current_post + 1
, for example.<?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;?>
-
- 2019-05-21
Eine alternative Lösungmit WP_Query wäre:
<?php $args = array( 'post_type' => 'post' ); $the_query = new WP_Query( $args ); $totalpost = $the_query->found_posts; ?>
An alternative solution using WP_Query would be:
<?php $args = array( 'post_type' => 'post' ); $the_query = new WP_Query( $args ); $totalpost = $the_query->found_posts; ?>
-
- 2019-05-08
Einfache Methode zum Zählen desgesamten Beitragseinschließlich der Pagignation
<?php global $wp_query echo $wp_query->found_posts; ?>
Simple way to count total post including pagignation
<?php global $wp_query echo $wp_query->found_posts; ?>
Ich versuche,die aktuellen Beiträgeinnerhalbeiner Schleife zu zählen.Ich verwendemehrere Schleifen aufeiner Seitein meinem Thema.Bisher habeich:
Wennichjedoch $my_post_count drucke,wird die Nummer aller Beiträge aufmeiner WP-Site zurückgegeben.Könnteesetwasmit der Verwendungmehrerer Abfragen aufeiner Seite zutun haben?Ich habe versucht,nachjeder Schleife wp_reset_query zu verwenden,um sicherzustellen,dassich die Dingenicht auf diese Weise wegwerfe.Wasmacheichfalsch?