Compter les posts d'une boucle Wordpress personnalisée (WP_Query)?

35

J'ai essayé de remplacer ceci:

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

à la fin de la boucle:

      <?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; ?>

Mais au lieu du total des posts, j'obtiens ce résultat:

  

Traduction 1

     

Lorem ipsum dolor sit amet, consectetuer elit adipiscing, sed diam   nummh non momie euismod tincidunt ut laoreet dolore magna aliquam erat   volutpat. Ut wisi enim 1

Des suggestions pour résoudre ce problème?

    
posée janoChen 28.08.2011 - 15:34

2 réponses

62

La manière correcte d’obtenir le nombre total de messages est:

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

enlace

Éditer: accuser réception de la réponse de @Kresimir Pendic comme étant probablement correcte. post_count est le nombre de publications pour cette page particulière, tandis que found_posts est le nombre de publications disponibles qui répondent aux exigences de la requête sans pagination. Merci pour la correction.

    
réponse donnée Manny Fleurmond 28.08.2011 - 15:53
28

Manny a lié la page de documentation correcte, mais post_count est faux. Pour obtenir le nombre total de messages WP_Query , utilisez "found_posts"

<?php

// The Query
$query = new WP_Query( $args );
$total = $query->found_posts;
    
réponse donnée Kresimir Pendic 02.11.2017 - 09:21

Lire d'autres questions sur les étiquettes