Дополнительный цикл без разрушения основного
Очень часто бывает необходимость в создании дополнительного цикла на странице, где уже есть основной поток постов. Например, когда нужно вывести отдельный блок со специально отобранными постами, на английском языке такие называют featured posts.
Если просто сделать копию основного цикла, добавив нужные параметры через query_posts, то может так получиться, что в результате “поломаются” оба цикла. Чтобы этого избежать, необходимо у второго цикла (не основного) использовать 2 дополнительные строки кода:
<?php $temp_query = $wp_query; ?>
<?php query_posts('showposts=3&cat=7) ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
...
<?php endwhile; ?>
<?php endif; ?>
<?php $wp_query = $temp_query; ?>
Ключевыми в данном коде являются первая и последняя строки, которые и спасают циклы от разрушения.
—–
Хороший сайт-магазин, продающий материалы для отделки и ремонта: облицовочная плитка, мозаика керамогранит, натуральный камень, ступени. Порадует большой ассортимент продукции и действующие скидки.
здорово! спасибо! :) спасли от новых поисков get_posts, хотя тоже было бы интересно узнать, например, как сделать выбор поста через get
Спасибо большое! А то испугался когда все поломалось у меня в цикле, я не программист но примерно представлял что ломается запрос, а теперь знаю как исправить.