Ottieni il conteggio dei post del loop corrente quando usi più query su una pagina
4 risposta
- voti
-
- 2011-10-16
$wp_query
mantieneil loopprincipale dellapaginae non deveessere utilizzatoper crearepiù loop.Se stai utilizzando unnuovo oggetto
WP_Query
,la variabile che lo contiene avràil conteggio corrispondente:$my_query = new WP_Query(); // stuff $count = $my_query->post_count;
Se stai usando
get_posts()
,l'oggettoWP_Query
non è accessibilee dovresti solo contareil set restituito:$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);
-
Nota: se seinel cicloprincipale,puoi accedere a `WP_Query`tramite`global $ wp_query`Note: If you are in the main loop, you can access `WP_Query` through `global $wp_query`
- 0
- 2019-10-22
- mrmadhat
-
- 2011-10-16
Credo chepost_count siamemorizzatonelglobale,quindiprima del ciclopersonalizzato dovrestiimpostarlo su
0
,poichépuoi usarlofuori dal ciclo,ma questo dipende da come stai strutturandoiltuopiù query,forsepuoi aggiungerle altuopost?Esiste un altromodo che utilizzo all'interno del ciclo che contai post utilizzando
current_post + 1
,adesempio.<?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
Una soluzione alternativa che utilizza WP_Query sarebbe:
<?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
Unmodo sempliceper contareiltotale deipostinclusa lapagignation
<?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; ?>
Sto cercando di ottenere un conteggio deipost correnti all'interno di un ciclo.Sto usandopiù loop su unapaginanelmiotema.Finora ho:
Ma quando stampo $my_post_count,restituisceilnumero dituttii post sulmio sito WP.Potrebbe avere qualcosa a chefare con l'utilizzo dipiù query su unapagina?Hoprovato a usare wp_reset_query dopo ogni cicloper assicurarmi dinonbuttare via le cosein quelmodo.Cosa stofacendo di sbagliato?