Obtenha a contagem de postagem do loop atual ao usar várias consultas em uma página
4 respostas
- votos
-
- 2011-10-16
$wp_query
hold loopprincipal dapáginae não deve ser usadopara criar vários loops.Se vocêestiver usandonovo
WP_Query
objeto,sua variável que o detémterá de acordo com a contagem:$my_query = new WP_Query(); // stuff $count = $my_query->post_count;
Se vocêestiver usando
get_posts()
,WP_Query
objetonãoestá acessívele você deve apenas contar o conjunto retornado:$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 vocêestiverno loopprincipal,poderá acessar "WP_Query" através de `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
Eu acredito que opost_count é armazenadonoglobal,então antes do looppersonalizado,você deve configurá-lopara
0
,já que vocêpode usá-lofora do loop,masisso depende de como vocêestáestruturando seuVárias consultas,talvez vocêpossa adicioná-las ao seupost?Há outramaneira queeu uso dentro do loop que contaposts usando
current_post + 1
,porexemplo.<?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
Uma solução alternativa usando WP_Query seria:
<?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
maneira simples de contar oposttotal,incluindo opagignation
<?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; ?>
Estoutentando obter uma contagem dosposts atuais dentro de um loop.Estou usando vários loopsem umapáginanomeutema.Até agoraeutenho:
Mas quandoimprimo $my_post_count,ele retorna onúmerotodos ospostsnomeu site WP.Poderiater algo a ver com o uso de várias consultasem umapágina?Eutentei usar o WP_Reset_Query após cada loopparater certeza de quenãoestavajogando coisas dessamaneira.O queestoufazendoerrado?