Как скрыть рубрику (убрать категорию) с главной страницы и RSS на блоге WordPress.
Добрый день, уважаемые читатели, посетители и все те, кто периодически пробегает мимо. Из названия поста, вы, скорее всего, уже догадались, о чем пойдёт речь в данном посте.
Иногда случается так, что вебмастеру необходимо убрать какую-либо рубрику на своём сайте для того, чтобы её не было видно. Я уже как-то упоминал эту тему в посте про то, как изменить порядок рубрик и скрыть ненужные рубрики на WordPress.
Но тогда мы сделали это через плагин, и скрытые рубрики все равно транслировались в RSS.
Сегодня вы узнаете, как полностью скрыть нужную вам категорию, чтобы она не транслировалась на главной странице, чтобы рубрика не отображалась в сайдбаре и в RSS.
Для чего это может понадобится?
1. Безусловно, это большой плюс для тех, кто любит продавать ссылки со своего сайта, при чем, в больших количествах. Для заработка на GoGetLinks со ссылками в мини-статьях и для заработка на Miralinks целыми продажными статьями, это просто лакомый кусочек.
Вы не распугаете своих посетителей большим количеством продажных ссылок и статей не по теме, при этом сможете неплохо заработать.
Я даже видел такое, что некоторые вебмастера размещают продажные ссылки только в скрытых рубриках, а в статьях, которые транслируются в RSS ленту – нет ни одной ссылки.
Незнающий человек никогда и не подумает, что вебмастер продаёт какие-то ссылки, и спокойно продолжает читать его блог.
2. Второе, для чего вам может понадобиться скрытие рубрик и категорий на своём WP блоге – это для SEO.
Сейчас расскажу более подробно.
Представьте, что у вас SEO блог, или блог про интересные сервисы в сети. По сути – неважно о чем он. Важно то, что вы не будете писать в основную ленту то, что есть на всех блогах, так как вас просто перестанут читать.
Представьте, что я сейчас начну писать посты о всем известных истинах, наподобие: «Что такое поисковая система?», «Что такое запросы и как их вводить?», «Что такое хостинг и зачем он нужен?»
Да ко мне вообще перестанут заходить на блог и все разбегутся, так как это неинтересно.
Однако, вы можете писать интересные посты и делать всевозможные эксперименты, а посты в стиле «Что такое блог?» — размещать в скрытой рубрике, при этом делая перелинковку и перегоняя вес на основные статьи сайта, а также собирая траффик по дополнительным запросам.
Реализация.
Сейчас уже не вспомню, где я нашёл этот код, но он работает «на ура» на WP версии 3 и выше.
Пробовал ставить некоторые плагины, которые все хвалят – они переколбасили мне весь блог так, что я еле-еле вернул всё на место.
Рабочий вариант кода выглядит так:
- function exclude_category ($query) {
- if ( $query->is_home ) {
- $query->set(‘category__not_in’, array(17,18,19));
- } elseif ( $query->is_feed ) {
- if ( ! $query->is_single and ! $query->is_archive )
- $query->set(‘category__not_in’, array(17));
- }
- return $query;
- }
- add_filter(‘pre_get_posts’, ‘exclude_category’);
Пояснения:
$query->set(‘category__not_in’, array(17,18,19)); — эта строчка запрещает вывод на главной стрнице всех записей из категорий с ID=17, 18, 19.
$query->set(‘category__not_in’, array(17)); — эта строчка запрещает вывод записей в RSS ленту для 17 категории.
Как определить ID записей и категорий — я писал тут.
То есть, если вам нужно скрыть одну категорию с ID=25, код будет выглядеть вот так:
- function exclude_category ($query) {
- if ( $query->is_home ) {
- $query->set(‘category__not_in’, array(25));
- } elseif ( $query->is_feed ) {
- if ( ! $query->is_single and ! $query->is_archive )
- $query->set(‘category__not_in’, array(25));
- }
- return $query;
- }
- add_filter(‘pre_get_posts’, ‘exclude_category’);
Куда вставлять этот код?
Открываем файл functions.php, который расположен в папке с вашей темой на хостинге, и в самом начале, после <?php вставляем код.
В результате, теперь вы можете постить в скрытые рубрики (категории) все, что угодно и линковать это так, как вам больше нравится.
Хотите – ссылки продавайте, хотите трафф собирайте. Кому что больше по душе.
Приятного пользования. :)
Твит дня: «Леонид Якубович стал свидетелем ДТП и спас двух пешеходов криком «ААААВТОМОБИЛЬ!»


Незнающий человек никогда и не подумает, что вебмастер продаёт какие-то ссылки, и спокойно продолжает читать его блог.
Прикольно читать такое у человека, который продаёт ссылки даже в этом посте :)))
Виктор, не понимаю предмета улыбания.
Вы не распугаете своих посетителей большим количеством продажных ссылок и статей не по теме, при этом сможете неплохо заработать.
Да распугаете конечно.
Посты пишутся ради продажи ссылок, или, как минимум, целые абзацы в них. В этих абзацах ты рекомендуешь ссылки, даже не проверив их на деле. Ты ведь сам понимаешь, что каждый твой читатель — это твой алмаз. Читателей нужно беречь: всё просто потому что дороже их у тебя никого нет.
Можно всю жизнь продавать только-яндексу-нужные-ссылки, а можно творить то, что будет действительно нужно людям.
Можно всю жизнь продавать… а можно совмещать приятное с полезным, как делает это Sickboy
Виктор, я наблюдаю за вашими комментариями уже больше месяца и хочу сказать, что большинство из них это беспочвенные обвинения автора.
Вы не читаете записи. Вы вырываете кусок из контекста и на основе 2-3 предложений пишете какую-то белиберду.
Я поражаюсь, как автор этого блога терпит ваши высказывания. Я бы на его месте давно забанил вас.
Видно, что человек пишет полезно и пишет для людей, не так, как это делает большинство SEO блогов. Вы же, вместо того, чтобы поблагодарить, ругаете и обвиняете его в чем-то.
При этом у вас нет даже собственного блога. Тот одностраничник, который у вас под ником — пустое место.
По сути — вы тролль, который сам ничего не делает, только языком чешет.
Вы напишите хотя-бы 3 полезных статьи, я бы хотел на них взглянуть. Покажите пример, покажите эталон.
Если у самих ничего нет — тогда лучше молчите.
Sickboy, очень полезный код. Для перелинковки новыми статьями очень пригодится.
Код взяла на заметку. Спасибо!
И если честно, то даже не заметила в статье этих продажных ссылок))) Текст читается легко, а перелинковку ведь все делают)
Наталия, если ссылаться на интересные сайты с ключевыми словами, а не со словами «тут», или «здесь» — некоторым личностям будет мерещиться «продажность ссылок», проверено :)
Пользуйтесь, иногда полезно скрывать рубрики.
>>>Можно всю жизнь продавать только-яндексу-нужные-ссылки, а можно творить то, что будет действительно нужно людям.
А можно творить и продавать ссылки :)
Ни чего не понимаю!? Вставил код, всё по инструкции, но не работает. В чём может быть ошибка?
Возможные причины:
1. Вы прописали неправильный ID для рубрики, которую хотите убрать.
2. У вас старая версия WordPress’a (обновитесь до последней)
3. У вас нестандартный functions.php.
Видимо пункт 3. А жаль, очень надо было добавить эту полезность…Попробую на другом блоге, может заработает.
А Вы не посмотрите мой фаил functions, что там нестандартного, если я его Вам на маил скину?
К сожалению, нет, я не программист.
Знаю php на начальном уровне понимания.
Спасибо Вам и Гуглу, который на Вас вывел в поиске «пряталки» !)
Спасибо, попробую реализовать Ваш метод.
Код хороший когда он универсальный, а если он не пашет на группе каких-то «нестандартных» тем, то и цена его ничтожна.
К примеру геймерская тема «iGamer». код не работает.
Бесплатному коню в зубы не смотрят)
У меня тоже не работает, побежала искать что-нибудь другое.
В 3.5.1 не работает. Видать конфликтует что-то, потому что у меня не девственно чистый functions.
Не работает. Просто сайт исчез! Пришлось оставить рубрику, жаль, только время потратила зря!
убрала рубрику из rss и с главной. теперь посты из убранной рубрики отображаются, если перейти с главной на вторую страницу, где более старые посты. как сделать, чтобы они уходили дальше, скажем на 5 страницу старых постов, а не на вторую?
спасибо!
не знаю)
жаль, жаль))
zverovich, используйте плагин «Simply Exclude» (сейчас это Версия 2.0.6.2). Покопавшись в настройках можно сделать так, чтобы каждый отдельно взятый пост не отображался на главной новостной полосе, ни на стартовой, ни глубже.
посмотрю. спасибо большое!