Вывод category_description при query_posts

Имеем:
в категориях 5 и 6 сортируем посты по алфавиту, в остальных по дате.

КОД1

<div class="breadcrumbs">
<a href="<?php echo get_option('home'); ?>">На главную</a> / 
<?php foreach((get_the_category()) as $cat) { 
$cat=$cat->cat_ID; 
echo(get_category_parents($cat, TRUE, ' / '));
} ?> 
</div>
<p class="cat"><?php echo category_description($cat); ?></p>

Я всегда ставила КОД1 до <?php if (have_posts()) и все было ок, а тут с query_posts какой-то косяк получается 🙁

Проблема:
если вставлять КОД1 в МЕСТО №1 или МЕСТО №2
в «хлебных крошках» показывается не текущая категория, а другая, отношения к текущей не имеющая никакого. category_description вообще не выводится.

если вставлять КОД1 в МЕСТО №3
то перед каждым постом выводятся «хлебные крошки» (правильные) и выводится category_description.
Сами понимаете, перед каждым постом оно не нужно.

МЕСТО №1

<?php if ( in_category(5) || in_category(6) ) {
$categoryvariable=$cat;
$query= 'cat=' . $categoryvariable. '&orderby=title&order=ASC&posts_per_page=-1';
query_posts($query);
} ?>

МЕСТО №2

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

МЕСТО №3

<div class="post" id="post-<?php the_ID(); ?>">    
и т.д.

get_the_category – Returns an array of objects, one object for each category assigned to the post. This tag must be used within The Loop.

Вот так всегда: начинаешь с "почему сейчас не работатет?", а заканчиваешь "тогда почему раньше работало?"

*голосом советского моряка подводной лодки*: «Ты не мудри, ты пальцем покажи» 🙂

В общем, я тут «заметила внезапно» :))), что у меня выше всего этого блок с новостями через get_posts

<?php rewind_posts(); ?> после лупа с get_posts помог 🙂

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