Contando as postagens de um loop Wordpress personalizado (WP_Query)?

35

Eu tentei inserir isso:

    <?php $count = count($custom_posts); ?>
    <h2><?php echo $count; ?></h2>

no final do loop:

      <?php if ( bbp_get_forum_title() == 'Test Forum 1' ) : ?>
            <?php $custom_posts = new WP_Query(); ?>
            <?php $custom_posts->query('post_type=blocks&location=Business and Finance&order=DESC'); ?>
            <?php while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
                <div class="ad">
                    <?php the_content(); ?>
                </div>
                <?php $count = count($custom_posts); ?>
                <h2><?php echo $count; ?></h2>
            <?php endwhile; ?>
      <?php endif; ?>

Mas, em vez do total de postagens, recebo esta saída:

  

Tradução 1

     

Lorem ipsum dolor sente-se, consectetuer adipiscing elit, sed diam   nonummy nibh euismod tincidunt para laoreet dolore magna aliquam erat   volutpat. Ut wisi enim 1

Alguma sugestão para corrigir isso?

    
por janoChen 28.08.2011 / 15:34

2 respostas

62

A maneira correta de obter o número total de postagens é:

<?php $count = $custom_posts->post_count; ?>

enlace

Edit: reconhecendo a resposta do @Kresimir Pendic como provavelmente correta. post_count é a contagem de postagens dessa página específica, enquanto found_posts é a contagem de todas as postagens disponíveis que atendem aos requisitos da consulta sem paginação. Obrigado pela correção.

    
por Manny Fleurmond 28.08.2011 / 15:53
28

Manny vinculou a página de documentação correta, mas post_count está errado. Para obter o número total de postagens WP_Query retorna use "found_posts"

<?php

// The Query
$query = new WP_Query( $args );
$total = $query->found_posts;
    
por Kresimir Pendic 02.11.2017 / 09:21

Tags