it-swarm.com.de

Zählen Sie die Beiträge einer benutzerdefinierten Wordpress-Schleife (WP_Query)?

Ich habe versucht, Folgendes zu platzieren:

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

am Ende der Schleife:

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

Aber anstatt der Gesamtzahl der Beiträge erhalte ich diese Ausgabe:

Übersetzung 1

Lorem Ipsum Dolor Sit Amet, Consectetuer Adipiscing Elite, Sed Diam Nonummy Nibh Euismod Tincidunt Ut Laoreet Dolore Magna Aliquam Erat Volutpat. Ut wisi enim 1

Irgendwelche Vorschläge, um das zu beheben?

38
janoChen

Richtige Methode zum Abrufen der Gesamtzahl der Beiträge ist:

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

http://codex.wordpress.org/Class_Reference/WP_Query#Properties

Edit: Bestätige die Antwort von @Kresimir Pendic als wahrscheinlich richtig. post_count ist die Anzahl der Beiträge für diese bestimmte Seite, während found_posts die Anzahl aller verfügbaren Beiträge ist, die die Anforderungen der Abfrage ohne Paginierung erfüllen. Danke für die Verbesserung.

66
Manny Fleurmond

Manny hat die richtige Dokumentationsseite verlinkt, aber post_count ist falsch. Um die Gesamtzahl der Beiträge zu erhalten, WP_Query gibt "found_posts" zurück

<?php

// The Query
$query = new WP_Query( $args );
$total = $query->found_posts;
40
Kresimir Pendic