После обсуждения вопроса скрытия страниц и Вордпресс записей рассмотрю одну похожую задачу, которая иногда возникает при работе над сайтом. Давайте поговорим о том как убрать категории WordPress с главной и RSS ленты блога.
В принципе, существуют разные причины, из-за которых вам нужно будет так сделать, но все они плюс-минус сводятся к тому, что вы просто не хотите показывать своим читателям определенные материалы в данных местах. Подходов к решению проблемы — тоже несколько: через сниппет в файле функций либо с помощью модулей.
Вспоминаются три конкретные ситуации, с которыми я сталкивался и когда данная фишка пригодилась:
- Допустим, вы ведете персональный профессиональный блог, где иногда кроме технических публикаций желаете добавлять заметки личного плана: делиться какими-то наблюдениями и размышлениями, публиковать обзоры своих путешествий и т.п. Иногда подобную «личную» информацию есть смысл убирать с лицевой страницы сайта.
- Аналогично предыдущему варианту выделяем в отдельную рубрику разные статьи «для поисковиков», заточенные под определенные ключевики и привлекающие трафик без ущерба основной тематике проекта. Например, можете разбавить свой ресурс о программировании общими мануалами по работе с компьютером.
- Третий случай больше знаком вебмастерам. Ранее в другом блоге я публиковал пост о заработке на биржах ссылок и Вордпресс сайтах, где среди прочего советовал в WordPress убирать рубрику с текстами, продающими ссылки, из RSS и главной. Так вы минимизируете вред от рекламных материалов для постоянных читателей.
Плагины скрытия категорий
В первой версии статьи я рассматривал лишь модуль Exclude categories, т.к. варианты из официального репозитория вызывали определенные сомнения, сегодня дополню его еще одним.
Ultimate Category Excluder
- главной;
- RSS фидами;
- архивами;
- поиском.
Если вы исключаете записи из поиска с помощью Search Exclude и по совместительству хотите решить вопрос и с другими разделами — самое время обратить внимание на текущий модуль.
Не смотря на то, что Ultimate Category Excluder не обновлялся около 8ми месяцев, выглядит он вполне рабочим (40тысяч скачиваний, оценка — 4,5). После активации переходите в его настройки и в соответствующей таблице ставите галочки напротив исключаемых рубрик и типов страниц.
Второй плагин был найден в одном из русскоязычных блогов о Вордпресс и программировании. Его автор сетовал на то, что многие существующие аналоги хоть и обладают необходимой функциональностью, но являются при этом слегка избыточными. Исходя из данной мысли он принял решение разрабатывать свой собственный модуль и даже написал об этом отдельную заметку. Мне это подходило идеально, т.к. надо было убрать рубрики WordPress с главной и RSS, не более того.
Скачать Exclude Categories можете в статье по ссылке выше либо здесь. Установка достаточно простая и обычная — распаковать архив, залить на FTP, активировать в адмике. Затем в разделе «Настройки» появится соответствующий одноименный пункт меню. Переходим в него и видим:
Тут, конечно, опции не такие гибкие как в предыдущем варианте — вы можете выбрать группу значений, а затем для них определить где они не будут показаны. То есть нельзя одну отдельную рубрику скрыть из главной, а другую — из 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 ставится знак минус. Смотрите соответствующий номер рубрики в адресной строке браузера, перейдя к ее редактированию (или при наведении):
Дополнительные нюансы. В качестве заключения хотелось бы добавить, что при решении данной задачи вам могут понадобиться некоторые вспомогательные действия дабы скрыть категории из других мест сайта: навигации, виджетов, футера и т.п. Например:
- Если у вас в макете выводится меню через функцию функция wp_list_categories, то используйте в ней параметр exclude для исключения той или иной рубрики.
- Когда нужно внедрить более глобальные изменения, пригодится создание разных шаблонов для WordPress страниц и постов.
- Также скрытые заметки можно вывести в отдельном блоке через список последних сообщений выбранной категории или соответствующий виджет.
В принципе, на этом все. Есть что добавить? — пишем ниже.
P.S. Если вы начинающий пользователь интернета и платежные системы для вас совершенно неизвестное понятие, советую глянуть проект Справочная служба WebMoney — информация и консультации по Вебмани.