Исключить НЕСКОЛЬКО категорий с главной

<?php
   if (is_home()) {
      query_posts("cat=-1,-2,-3");
   }
?>

Исключены категории с id= 1, 2 и 3

Этот код следует добавить в index.php Вашей темы перед началом Цикла (loop). Классический Цикл начинается так:

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

Источник: query_posts

UPD 28.05.2007
Можно воспользоваться плагином Category Visibility

мм как я понимаю что этот, что тот http://forum.maxsite.org/viewtopic.php?id=577 код работать не будет, если у меня сообщение относится к нескольким моим категориям.

Кстати этот код не будет работать и на версии 2.0.* – в ней можно задать только одну исключающую рубрику.

ага у меня не работает
и ваш Максим другой для одной рубрики тоже чего-то не рабоатет

А какой тогда код будет работать (чтобы исключить неск. категорий)?
Я дернула этот пример из Кодекса, сама не пробовала, но иногда же может понадобится

Да в кодексе этот пример для 2.1 описан. Для предыдущих версий, насколько я помню, это был баг, который они и поправили. 🙂

У самого такая же проблема и как побороть, не переписывая движок, не знаю. Проблема еще в том, что не будет корректно работать пагинация (pagged). Сейчас я просто в цикле TheLoop (сразу после if (have_posts()) : while (have_posts()) : the_post();) прописываю:

if ( $cat == X ) continue;

где X – номер исключенной рубики.

соответственно, и мануал для исключения одной рубрики с главной тоже не будет работать по предложенному там коду? 2.0.x версии

С одной исключенной рубрикой работать будет.

одна рубрика исключается, но при переходе на предыдущие страницы /page/2/ и т.п.
отображаются сообщения с главной, как исправить не подскажете?

Как я и написал, нужно исключать рубрику из вывода прямо в цикле TheLoop:

...
if (have_posts()) : while (have_posts()) : the_post(); 
    if ( $cat == X ) continue;
...

Можно добавить условие is_pagged() – срабатывает, если идет пагинация.

Но, вообще это глюк WordPress. Когда исправят неизвестно.

Хоть и пост старый спрошу!
А разве будет работать код if ( $cat == X ) continue; если он в не блока кода <?php ?>?

Убрал закрывающий ?>

И что это исключение? Постов категории главной срт. или с под категорий главной категории??? :rolleyes:

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