Как скрыть рубрику в WordPress

Очередной добрый вечер и мы продолжаем настраивать свой блог на WordPress.

Сегодня мы узнаем как скрыть рубрику (категорию) в WordPress.

Убрать вывод названия определенной рубрики или нескольких рубрик может понадобиться вам по разным причинам. В моем случае, названия категорий выводятся в шапке сайта и понятно, что вместиться их там может ограниченное количество. Поэтому я хочу выводить в хедер только основные рубрики, а полный перечень категорий будет присутствовать в сайдбаре (боковой колонке).

 

Как узнать id рубрики WordPress?

Для того, чтобы скрыть рубрику нам понадобится узнать её порядковый номер, который присвоен рубрике в базе данных (идентификатор или просто id).

Для этого зайдите в админку и перейдите в раздел ЗаписиРубрики.

В списке категорий наведите курсор мыши на название той рубрики, которую хотите скрыть.

В браузере внизу в информационной строке вы увидите url-адрес ссылки такого типа:

http://wordpress-life.ru/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=7&post_type=post

Найдите в этой строке значение параметра tag_ID. В данном случае tag_ID=7 – это и есть id рубрики. Т.е. в данном примере id = 7.

Также, id рубрики WordPress можно узнать непосредственно в базе данных в таблице wp_terms в поле term_id.

 

Как скрыть рубрику в WordPress?

Скрыть рубрику в WordPress можно глобально, т.е. убрать её вывод везде, где выводятся рубрики, либо локально – убрать, например, в хедере, но оставить в сайдбаре.

Начнем с локального скрытия названия категории.

Например, нужно убрать рубрику с id=7 из хедера.

Открываем файл /wp-content/themes/ваш_шаблон/header.php

Находим в файле вызов функции wp_list_categories. Именно эта функция осуществляет вывод списка категорий

У меня вот такая строка:

Найдите в этой строке параметр exclude=1. Вот туда нужно добавить id нашей, исключаемой из вывода, рубрики. Т.е. должно быть exclude=1,7.

Единица – это id рубрики “Без категории” – эта рубрика присутствует в WordPress по умолчанию после установки.

После редактирования должно получиться вот так:

Таким образом, мы убрали из хедера рубрику с порядковым номером 7.

Теперь, если вам нужно скрыть рубрику по всему сайту, то нужно тоже самое проделать и в остальных местах, где выводится список категорий: сайдбар, футер. Для этого нужно произвести такие же изменения, соответственно, в файлах sidebar.php, footer.php

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

В файле /wp-includes/category-template.php, найдите ту же функцию wp_list_categories. В теле этой функции в начале есть список параметров со значениями по умолчанию. Вот там найдите параметр exclude и присвойте ему нужное значение: 'exclude'='7' (см. строку 10)

После такого изменения, где бы вы не вызывали функцию wp_list_categories (в хедере, сайдбаре или футере), она всегда будет исключать из вывода категорию номер 7.

Успехов в сокрытии доходов рубрик! =)

Понравилась статья? Не забудьте поделиться с друзьями и коллегами:

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

26 комментариев к записи “Как скрыть рубрику в WordPress”

  1. Анатолий

    Не совсем понял смысл. В хедере ведь можно подключить произвольное меню.

    • Алексей Ершов

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

      А то, что можно из хедера убрать рубрику таким образом – это один из вариантов. Ведь практически любую задачу можно решить несколькими способами.

      • Андрей

        Добрый день,Алексей!
        Помогите мне пожалуйста.
        Проверил указанные Вами файлы, но функции wp_list_categories не обнаружил! :0(

  2. Аркадий

    Спасибо, очень помог. Я часа два бился, чтобы номер рубрики узнать. Надо же как все просто. Еще раз спасибо!

  3. iliya

    Спасибо!

  4. Александр

    Попробовал оба способа по вашему описанию – не получилось (( Помогите !!! очень надо !!

    • Алексей Ершов

      У вас рубрики выводятся с помощью wp_list_categories? Тогда добавление номера рубрики в параметр exclude должно срабатывать. Либо нужно смотреть как именно в вашем шаблоне осуществляется вывод категорий.

      • Александр

        честно ? я не знаю :)

  5. Александр

    СДЕЛАЛ !!!
    использовал этот материал:
    http://vsepro100.net/ubrat-vyvod-nazvaniya-rubrik/#comment-1402

  6. Александр

    Вот теперь бы еще и метки убрать ! Может кто знает ?

  7. Виктор

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

  8. Анна

    Алексей, спасибо за интересную статью!

    Если скрыть рубрику, исчезнет ее название. Администратор любую публикацию может открыть через консоль.

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

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

    С уважением, Анна

    • Алексей Ершов

      Да, Анна, все верно – речь идет только об удалении названия рубрик(и) из списка (листинга) рубрик. Статьи скрытых рубрик при этом остаются доступными.

  9. Юлия

    Здравствуйте,Алексей!

    Большое спасибо за материал – раньше именно так и делала. Но сейчас столкнулась с темой – все перерыла, не вижу ничего похожего на функцию выводв рубрик – нигде. Может быть, у Вас найдется минутка посмотреть? Делаю сайт для своей компании (совершенно бесплатно), вопрос имиджа – расковырять это дело. Сайт csmrus.ru. Подробности: сделала навигац.меню из рубрик (кроме главной статичной страницы), вывела туда естественно не все рубрики. Некоторые другие (а, возможно, и некоторые из меню) хочу вывести в сайд-баре. Для начала – хотя бы одну рубрику “Рецепт месяца”, закрыв остальные.
    Задача вроде элементарная, но где же место в коде?…Буду очень благодарна, если поможете. (Кстати, единств. место в коде, где стоит wp_list_categories – это я переправила с wp_list_pages – для случаев, когда не задано пользовательское праймери меню. Так, на будущее, если все переделывать на стандатное меню.
    Большое спасибо!
    С уважением,
    Юлия

    • Алексей Ершов

      Здравствуйте, Юлия!
      Вижу уже все получилось? =)

  10. Елена

    Очень интересно и полезно, спасибо! Проделала все, как Вы учили, все получилось. Однако рекламодатели с Ротапост не хотят размещать свои материалы в скрытых рубриках, пришлось снова открыть((( Как бы сделать так, чтоб и на сайте они не светились и рекламодатели были довольны и платили за работу исправно, без замечаний…

  11. Зоя

    Спасибо большое автору! Без проблем исключила из сайдбара ненужную мне рубику. Все доходчиво :)

  12. Анна

    Спасибо! После долгих поисков нашла рабочий способ и скрыла рубрику)

  13. Татьяна

    Алексей, Добрый День! Я нашла файл category-template.php. Там есть эта строчка:

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

    Так? Или как-то иначе?

    • Алексей Ершов

      Добрый день, Татьяна!

      • Татьяна

        Алексей, БлагоДарю Вас! ВЫ мне очень помогли! Я несколько дней искала эту информацию ))

        • Алексей Ершов

          Пожалуйста! Рад помочь. Успехов!

          • Татьяна

            Алексей, может, Вы мне ещё подскажете: у меня сверху меню (страницы, page) Если нажимаешь на “Заказать”, выпадает меню. Жму на “Открытки”. Попадаю на

            (туда мне, собственно, и надо). Скажите, пожалуйста, почему когда я нахожусь в какой-нибудь категории, и оттуда нажимаю на эту строчку в выпадающем меню, меня перебрасывает не туда, куда надо?

            то есть одно слово лишнее почему-то получается :)

            @
        • Алексей Ершов

          Найдите код этой менюшки и добавьте слэш ‘/’ в ссылке перед zakaz/otk
          Сейчас у Вас

          Должно быть

          • Татьяна

            Вы Гений!!! Оказалось всё так просто )

            @
  14. Александр

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

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

Для размещения кода в комментарии используйте теги <pre> </pre>, например:


Подписаться, не комментируя