Добрый день! У меня следующая проблема. Есть около 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 в другой переменной и ее подставить во втором запросе.