Иногда нужно вывести записи вне основного цикла theeLoop. Обычно это делается с помощью query_posts. Проблема в том, что WordPress использует глобальные переменные, и после использования этой функции, условия query_posts станут глобальными.
Чтобы этого избежать, нужно использовать функцию get_posts. Например, мы хотим вывести в сайдбаре список последних записей в рубрике новости (id=1):
<h2 class="pages_search">Новости</h2>
<ul class="is_kat">
<?php
$posts_new = get_posts('category=1&numberposts=3');
foreach ($posts_new as $post_new) :
echo '<li class="news_item"><a href="';
echo get_permalink($post_new->ID);
echo '">';
echo mysql2date('j.m.Y', $post_new->post_date);
echo ' - ';
echo $post_new->post_title;
echo '</a></li>';
endforeach;
?>
</ul>
То есть мы получаем все записи с нужным нам условием get_posts(‘category=1&numberposts=3’) в объект $posts_new. Далее, мы просто обходим его в цикле и выводим нужные нам записи.
