it-swarm.com.ru

Как узнать количество постов на странице архива?

У меня есть пользовательская страница архива сообщений типа archive-my_custom_post_type.php, и я использую "стандартный" цикл, который состоит из очень известных

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

Который, кажется, использует глобальные переменные.

Как мне узнать общее количество сообщений на этой странице? Мне нужно, чтобы вычислить ширину столбцов, в которых я собираюсь отобразить эти вещи.


Ну, я нашел ответ:


После некоторой утомительной проверки переменной $GLOBALS в PHP я обнаружил, что вы можете получить ссылку на WP_Query, который использовался для генерации страницы с помощью $wp_the_query. И, о чудо, вы можете получить количество постов, используя этот удобный трюк:

$countPosts = $wp_the_query->post_count;

Надеюсь, это поможет всем, у кого была та же проблема, что и у меня!

6
Florian Segginger

Как указано в редактировании:

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

Другой вариант будет использовать

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