Имеем:
в категориях 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 помог 🙂