web-dev-qa-db-fra.com

Comment obtenez-vous le nombre de messages dans une page d'archive?

J'ai une page d'archive de messages personnalisée du type archive-my_custom_post_type.php et j'utilise la boucle "standard" qui consiste en une boucle très célèbre.

<?php if(have_posts()) : ?>
    <?php while(have_posts()) : the_post(); ?>
        ...
    <?php endwhile;  ?>
<?php endif; ?>

Ce qui semble utiliser des variables globales.

Comment pourrais-je obtenir le nombre total de messages pour cette page? J'en ai besoin pour calculer la largeur des colonnes dans lesquelles je vais afficher ces éléments.


Eh bien, j'ai trouvé la réponse:


Après une inspection fastidieuse de la variable $GLOBALS en PHP, j'ai découvert que vous pouvez obtenir une référence au WP_Query qui a été utilisé pour générer la page avec $wp_the_query. Et voici que vous pouvez obtenir le nombre de messages en utilisant cette astuce pratique:

$countPosts = $wp_the_query->post_count;

J'espère que cela aide tous ceux qui ont le même problème que moi!

6
Florian Segginger

Comme indiqué dans la modification:

$count = $GLOBALS['wp_query']->post_count;

Une autre option serait d'utiliser

$count = $GLOBALS['wp_query']->found_posts
10
kaiser