Исключить из query посты одной кат

Не получается решить проблему. Помогите плиз?

Пытаюсь создать 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).

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