Проблемы с query_posts

Добрый день! У меня следующая проблема. Есть около 100 постов (различные объекты которым соответствуют географические координаты). На каждой странице надо выводить карту, на которой выводятся все 100 точек. Для реализации этого я пишу такой код в header.php:

    <?php 
    if ( is_archive()) { query_posts('posts_per_page=-1&cat='.the_category_ID(false));}
    if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
        /* вывожу все 100 точек на карту */
    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; 
    query_posts('posts_per_page=10&cat='.the_category_ID(false));
    ?>

При выполнении такого кода, при нажатии на ссылку "ранее" открывается страница с адресом http://***.ru/?cat=5&paged=2 но всё равно выводятся первые 10 постов. Как мне это победить? Просто я не знаю другого способа, чтобы получить данные сразу о всех постах 🙁

Добавить к параметрам $query_string См. http://codex.wordpress.org/Template_Tags/query_posts

Ю.Б. огромное спасибо за то, что откликнули. Прошу прощения. Что-то не работает. Код такой:

if ( is_archive()) { query_posts($query_string.’&posts_per_page=-1&cat=’.the_category_ID(false));}
if (have_posts()) :
while (have_posts()) : the_post();
endwhile;
else :
endif;
query_posts($query_string.’&posts_per_page=10&cat=’.the_category_ID(false));

Я, как-то неправильно перевёл? в примере такой же код:
<?php
query_posts($query_string.’&posts_per_page=-1′);
while(have_posts()) { the_post();
<!– put your loop here –>
}
?>

Первому запросу вряд ли нужен $query_string, он все равно вынимает все посты, а вот второму – нужен. Возможно, после первого запроса значение портится. Попробуйте до первого query_string сохранить $query_string в другой переменной и ее подставить во втором запросе.

Anonymous
Отправить
Ответ на: