Не получается решить проблему. Помогите плиз?
Пытаюсь создать query_posts в category.php, который бы показывал все посты из текущей категории, за исключением постов, которые также принадлежат категории 15.
<?php $cat = get_query_var('cat'); ?>
<?php $args = array(
'cat' => $cat,
'category__not_in' => 15,
);?>
<?php query_posts($args); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
И так далее. Не работает. Показываются посты из текущей категории включая 15.
Думала, что проблема может быть в том, что это второй query на странице и он входит в конфликт с первым (показывающим только 15 категорию). Попыталась использовать get_posts.
<?php get_posts('$category=-15'); ?>
Результат тот же.
Где могла порыться собака?:)
Спасибо!
Я думаю, что ответ на большинство прозвучавших вопросов можно найти в одном старом форумном топике: http://forum.maxsite.org/viewtopic.php?id=575&p=1
Плюс наглядные примеры использования query_posts: http://codex.wordpress.org/Function_Reference/query_posts
Ну, и, конечно, для исключения постов определенной категории можно воспользоваться плагином Advanced Category ExcluderЖ, позволяющим исключить публикацию какой-либо категории (или нескольких категорий блога) в пяти местах: на главной странице блога, в архивах, в RSS ленте постов, в RSS ленте комментариев и в результатах поиска по блогу.
Спасибо за ответ.
К сожалению, нигде ничего не говориться об использовании query в category.php.
Advanced Category Excluder не дает возвожности выдавать постинги в зависимости от текущей категории исключая одну.
Я подозреваю, что меня банально подводит слабое знание синтаксиса, ну или полное незнание какого-либо полезного аргумента или конфликта аргументов, или еще что-то… блин.
А может ли быть такое, что строчка ‘category__not_in’ => 15, не работает, потому что пост одновременно принадлежит текущей категории, которую надо показывать согласно предыдущему утверждению (‘cat’ => $cat, ) и категории, которую надо исключить (15)?
Может, это условие надо как-то отдельно оговорить??
/yes I’m quite desperate:)
Решение нашлось.
category__not_in – массив и инициализировать его надо через ‘category__not_in’ => array(15).