Fix: WP убираем с главной страницы записи определенной категории

wordpress fixНа одном из моих проектов возникла необходимость убрать с главной страницы записи из определенной категории. В этом конкретном случае это записи категории новости, которые представляют собой рерайт по большей части и не представляют ценности для целевого пользователя. Решение оказалось до боли простым. Привожу текст функции, который надо вставить в файл functions.php вашей темы.

Функция

function exclude_category($query) {
    if ( $query->is_home ) {
        $query->set('category__not_in', array(1));
    }
    return $query;
}
add_filter('pre_get_posts', 'exclude_category');

Давайте разберемся в выше приведенном коде.
$query->is_home — означает, что мы убираем посты определенной категории с главной страницы.

Другие значения параметра:

  • $query->is_feed — убираем посты из RSS ленты.
  • $query->is_feed or $query->is_home — убираем посты и с главной и из RSS ленты.

'category__not_in', array(1) — задаются ID категорий, записи из которых требуется исключить. В данном случае посты из категории с ID=1.

Другие значения параметра:

  • 'category__not_in', array(1, 2, 3) — исключаются записи из категорий с ID 1, 2, 3.

Как узнать ID категории?

Достаточно зайти в админ-панель, в раздел «рубрики» и навести указатель мыши на нужную рубрику. ID категории кроется в ссылке после tag_ID= — это и есть ID рубрики.

Присматриваете люстру или светильник? Тогда обратите внимание на интернет магазин lampa.kiev.ua — огромный выбор люстр, светильников и ламп. Мне вот приглянулись светильники eglo — отличное австрийское качество, огромный выбор форм и размеров, энергосбережение и практичность.



Запись опубликована в рубрике Wordpress, Советы и фиксы с метками , , , . Добавьте в закладки постоянную ссылку.

8 комментариев: Fix: WP убираем с главной страницы записи определенной категории

  1. Уведомление: Fix: WP убираем с главной страницы записи определенной категории | Grabr

  2. Trollina говорит:

    а как исключить определенную запись из определенной рубрики? к примеру, есть рубрика «А», в которой есть подрубрика «Б». при добавлении статьи в «Б» она автоматом отображается в «А», чего нам не надо. возможно это реализовать?

    • Гилязетдинов Руслан говорит:

      теоретически возможно, но придется переписывать функцию вывода записей. я думаю, можно заказать такое на фрилансе — стоить будет недорого

  3. Zifkins говорит:

    а куда функцию писать-то? 

    • Zifkins говорит:

      точнее есть ли разница в какое место  
      functions.php его вставить

      • Гилязетдинов Руслан говорит:

        обычно в конце дописывают до закрывающего тэга

  4. WPhello говорит:

    Вот за это реально спасибо. Уже два часа бился , как убрать мне показ категории с одной из страниц. Шаблон у меня не стандартный —  доска объявлений Маялся часа два, пока нашел, просто везде пишут одно и тоже, ниче не помогает. Твоя штука
    exclude_category реально помогла.

  5. Геннадий Колтун говорит:

    Спасибо, помогло!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *