Сен
5
24

Как скрыть категории WordPress с главной и RSS страниц сайта

Убираем категорию с главнойПосле обсуждения вопроса скрытия страниц и Вордпресс записей рассмотрю одну похожую задачу, которая иногда возникает при работе над сайтом. Давайте поговорим о том как убрать категории WordPress с главной и RSS ленты блога.

В принципе, существуют разные причины, из-за которых вам нужно будет так сделать, но все они плюс-минус сводятся к тому, что вы просто не хотите показывать своим читателям определенные материалы в данных местах. Подходов к решению проблемы — тоже несколько: через сниппет в файле функций либо с помощью модулей.

Вспоминаются три конкретные ситуации, с которыми я сталкивался и когда данная фишка пригодилась:

  • Допустим, вы ведете персональный профессиональный блог, где иногда кроме технических публикаций желаете добавлять заметки личного плана: делиться какими-то наблюдениями и размышлениями, публиковать обзоры своих путешествий и т.п. Иногда подобную «личную» информацию есть смысл убирать с лицевой страницы сайта.
  • Аналогично предыдущему варианту выделяем в отдельную рубрику разные статьи «для поисковиков», заточенные под определенные ключевики и привлекающие трафик без ущерба основной тематике проекта. Например, можете разбавить свой ресурс о программировании общими мануалами по работе с компьютером.
  • Третий случай больше знаком вебмастерам. Ранее в другом блоге я публиковал пост о заработке на биржах ссылок и Вордпресс сайтах, где среди прочего советовал в WordPress убирать рубрику с текстами, продающими ссылки, из RSS и главной. Так вы минимизируете вред от рекламных материалов для постоянных читателей.

Плагины скрытия категорий

В первой версии статьи я рассматривал лишь модуль Exclude categories, т.к. варианты из официального репозитория вызывали определенные сомнения, сегодня дополню его еще одним.

Ultimate Category Excluder

Плагин Ultimate Category Excluder

Плагин Ultimate Category Excluder обладает универсальными функциями и работает с разными типами страницам:

  • главной;
  • RSS фидами;
  • архивами;
  • поиском.

Если вы исключаете записи из поиска с помощью Search Exclude и по совместительству хотите решить вопрос и с другими разделами — самое время обратить внимание на текущий модуль.

Не смотря на то, что Ultimate Category Excluder не обновлялся около 8ми месяцев, выглядит он вполне рабочим (40тысяч скачиваний, оценка — 4,5). После активации переходите в его настройки и в соответствующей таблице ставите галочки напротив исключаемых рубрик и типов страниц.

Настройка Ultimate Category Excluder

Exclude Categories

Второй плагин был найден в одном из русскоязычных блогов о Вордпресс и программировании. Его автор сетовал на то, что многие существующие аналоги хоть и обладают необходимой функциональностью, но являются при этом слегка избыточными. Исходя из данной мысли он принял решение разрабатывать свой собственный модуль и даже написал об этом отдельную заметку. Мне это подходило идеально, т.к. надо было убрать рубрики WordPress с главной и RSS, не более того.

Скачать Exclude Categories можете в статье по ссылке выше либо здесь. Установка достаточно простая и обычная — распаковать архив, залить на FTP, активировать в адмике. Затем в разделе «Настройки» появится соответствующий одноименный пункт меню. Переходим в него и видим:

Настройка модуля Exclude categories

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

Как убрать категории WordPress с главной без плагина

В некоторых англоязычных публикациях я встречал реализацию без использования модулей. Вам лишь нужно добавить в файл функций (function.php) следующий код:

function my_exclude_category( $query ) {
	if ( $query->is_home ) {
		$query->set( 'cat', '-2' );
	}
	return $query;
}
 
add_filter( 'pre_get_posts', 'my_exclude_category' );

Здесь основным и единственным задаваемым параметром является ID скрываемой категории «cat», где указано значение -2. Да, вы правильно заметили — перед ID ставится знак минус. Смотрите соответствующий номер рубрики в адресной строке браузера, перейдя к ее редактированию (или при наведении):

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

Если вам надо убрать несколько элементов, просто перечислите их через запятую: ( ‘cat’, ‘-2, -4, -5’ );

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

В принципе, на этом все. Есть что добавить? — пишем ниже.

P.S. Если вы начинающий пользователь интернета и платежные системы для вас совершенно неизвестное понятие, советую глянуть проект Справочная служба WebMoney — информация и консультации по Вебмани.

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(голосов - 5, средний балл: 5,60 из 7)
Загрузка...

категория Категории: Плагины;
теги Теги: , , , , .

комментария 24 к статье “Как скрыть категории WordPress с главной и RSS страниц сайта”

  • supaman   06.09.2010

    Благодарю за подсказку. Хорошо что плагин на русском языке, иноземные аналоги заставляют много думать :)

  • Сергей   06.09.2010

    Спасибо за пост, помогло.

  • Владимир   07.09.2010

    Большое спасибо за отзыв! Всегда приятно почитать о себе :)

  • Tod   07.09.2010

    Владимир, не за что, блог у тебя очень полезный получается, часто попадаю с поисковиков:)

  • Alla (Blogi Mam)   16.09.2010

    Мы решили такую же задачу (посты в категории «Галерея» не должны были публиковаться ни на главной, ни в rss) с помощью плагина Simply Exclude, в сущности то же самое, только чуть больше опций. Но на английском.

  • Nata   20.09.2010

    Спасибо. Для публикации на Миралинкс только сегодня отказала из за этого совем не тематическая статья. Спасибо огромное. Давно искала решение.

  • alina   11.04.2011

    спасибо за вашу работу! уже второй день читаю ваш блог, нашла очень много полезного и нужного! все очень просто и доступно и делает желание улучшать свой блог и учиться (потому что получается;)

  • Павел   12.05.2011

    Спасибо за плагин. Навел порядок наконец то на сайте

  • WebKlaster   03.12.2011

    Отличная замена вечно глючащему Advanced Category Excluder: все просто, все работает, все настраивается в два клика. Спасибо за наводку :)

  • Andrey   22.05.2012

    Доброго времени суток!
    Давно ищу ВП-плагин (в худшем случае — пхп-код, с программированием я на вы), который позволял бы посетителям сайта оформлять подписку на обновления сайта и РСС-ленты по отдельным категориям. Т.е. не исключать их как в плагине Exclude categories, а отделять.
    Нет ли в «загашнике» чего-нибудь походящего или у знакомых блоггеров?
    Спасибо заранее
    Андрей

  • Tod   23.05.2012

    Андрей, теоретически в самом WP данная фишка реализована, нужно к ссылке категории добавить просто /feed/ и получите нужный фид, правда у меня он какой-то отображается не совсем корректно (на то могут быть свои причины). Кроме того, есть FeedBurner FeedSmith Extend с помощью которого для каждой категории можно подключить отдельный фид от FeedBurner.

  • Витал   23.06.2012

    спасибо, друг. помог

  • ДимаБедный   13.08.2012

    Не совсем то! но полезно. Прошу помочь найти плагин который убирал бы посты с главной, и оставлял бы их в заданной категории?

  • Tod   14.08.2012

    ДимаБедный, а чем Exclude categories не подходит? В разные категории посты попадают по умолчанию, а с помощью этого модуля не выводятся на главной — то, что вам и требуется.

  • Ирина   09.12.2012

    Здравствуйте! Спасибо большое за плагин и за статью! Я уже отчаялась найти что-то нормальное, а этот плагин как раз то, что мне нужно было. В благодарность покликаю где надо

  • Юра   16.06.2013

    Спасибо за плагин, сразу заработал как надо, в отличии от везде советуемого Simply Exclude, в котором наворотили настроек, а как надо он у меня лично не работает.

  • Zementovoz   05.10.2014

    То что нужно, плагин работает на русском языке.

  • Рита Молчанова   13.05.2015

    Доброе время суток! У меня не исключается, страница , которую хочу скрыть ни так ни эдак. Столько плагинов перепробовала. Также пробовала скриптом. Но нигде не могу найти эту запись wp_list_pages () , чтобы исключить exclude=id страницы. Не пойму в чем причина. Если кто может подскажите, буду признательна.

  • Tod   13.05.2015

    Рита, не совсем понятно откуда именно нужно исключить страницу? из меню на сайте?

  • Рита Молчанова   14.05.2015

    Tod, я хочу исключить из главного меню блога. Вернее так. Я ее включаю в меню блога. Затем в редактировании при помощи плагина я убираю галочки, чтобы она была невидимой. Это правильно я делаю? Только она почему то все равно видимая. Я также делала страницу » спасибо за комментарий». Я поставила галочку в плагине http://prntscr.com/74zv13 http://prntscr.com/74zv70 Все это не работало пока я эту страницу не исключила из меню. Получается что плагин не работает. Я поставил вот этот Comment Redirect by Yoast и сделала перенаправление. И это работает. Но там можно выбрать только одну страницу. А мне нужно скрыть еще несколько. Как быть? А может у меня конфликтуют плагины? Или версия wordpress старая. Только обновляться не хочу, потому что мне нравится визуальный редактор в более поздних версиях.

  • Tod   14.05.2015

    Рита, если вы не хотите чтобы страница была в меню, то добавлять ее туда не нужно. Вариант «добавлять страницу, потом с помощью плагина ее скрывать» — не совсем правильный, поэтому нет гарантии, что будет работать. В новых версиях WordPress есть специальный инструмент для формирования меню — с ним, конечно, достаточно удобно работать.
    Можно попробовать поискать в шаблоне в шапке (header.php) функцию wp_list_pages, в ее параметрах есть возможность исключать страницы — подробнее тут. Для старый версий системы есть еще парочка плагинов для работы с меню, но не факт, что они до сих пор актуальны.

  • Рита Молчанова   14.05.2015

    Спасибо за подробный ответ. Я так и подумала, что не нужно добавлять в меню. При проверке все работает. По идее если наставила плагинов, они должны исключать. Но на деле все не так получается. Я грешу на свою старую версию wordpress. Обновляться нужно видимо. Но как подумаю, что все скрипты полетят… пока не хочется…

  • Tod   14.05.2015

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

  • Tod   05.09.2018

    Обновил пост и добавил новый полезный модуль по теме — Ultimate Category Excluder.

Оставить комментарий


Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории
Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости