Как убрать слово Рубрика со страниц рубрик WordPress

Иногда встречается ситуация, когда на архивных страницах WordPress сайта заголовок отображается с названием таксономии. Классический пример – это вывод слова Рубрика в заголовках рубрик для представленного по умолчанию типа записей Записи:

Для того, чтобы удалить слово Рубрика или Метка из названия таксономии архивной записи, нужно добавить пару строчек кода в файл function.php вашей темы:
/*Удаляем слово Рубрика*/ add_filter( 'get_the_archive_title', function( $title )< return preg_replace('~^[^:]+: ~', '', $title ); >);
А чтобы после обновления темы внесенные изменения сохранились, лучше для этого использовать дочернюю тему. Или можно воспользоваться плагином Code Snippets, который позволяет вносить фрагменты php кода в вашу тему, без необходимости редактировать файл function.php .
Следует отметить, что данный способ позволяет удалять из заголовков названия и произвольных таксономий, которые вы могли сами создать в процессе работы над сайтом.

Более 5-ти лет на коммерческой основе делаю сайты, а также занимаюсь их технической поддержкой, ускорением, оптимизацией, доработкой. Делюсь опытом на страницах своего блога.
Как убрать слово «Рубрика» на страницах рубрик. Правильное решение

Есть много разных способов, вплоть до редактирования файлов ядра WordPress, но есть способ проще. Для тех кто хочет понимать больше, объясню.
Заголовок рубрики на одноименной странице выводится через функцию get_the_archive_title() или the_archive_title() на странице archive.php (возможны использования файлов category.php , tag.php ).
Чаще всего, так происходит, если темы старенькие, но может быть и по другому
Так вот, функция get_the_archive_title() имеет хук-фильтр, через который возможно изменить правило вывода заголовка. Готовое решение для страниц рубрик и меток, будет такое
add_filter( 'get_the_archive_title', 'artabr_remove_name_cat' ); function artabr_remove_name_cat( $title ) < if ( is_category() ) < $title = single_cat_title( '', false ); >elseif ( is_tag() ) < $title = single_tag_title( '', false ); >return $title; >
Достаточно добавить эту функцию в файл functions.php вашей темы.
Лучше использовать дочернюю тему или пустой плагин
Чтобы полностью удалить вывод заголовков рубрик, можно сделать так
add_filter( 'get_the_archive_title', '__return_empty_string' );
Подробности в видео

Всем удачи! Пишите вопросы в комментариях!
Убрать Category Archives или Архив рубрики в архиве WordPress

Так же часто встречаемся проблема с которой сталкиваются начинающие пользователи WordPress — Как убрать Category Archives сверху страницы? В русской версии эта надпись звучит как «Архив рубрики«; а в некоторых версиях/шаблонах эта строка в WordPress может быть такой: Archive for category.
В общем, не важно что за строка, лечится просто:
1) Открываем файл archive.php вашего шаблона
2) Ищем строку «Category Archives» или «Archive for category» или любую желаемую надпись
3) Убираем или заменяем это словосочетание на желаемое.
По аналогии можно убрать надпись: «В настоящее время Вы просматриваете…»
Внимание! Если в вашем шаблоне в файле archive.php вы не нашли нужной фразы для замены — поищите в других файлах, например, в category.php
Как скрыть рубрику в WordPress
Очередной добрый вечер и мы продолжаем настраивать свой блог на WordPress.
Сегодня мы узнаем как скрыть рубрику (категорию) в WordPress.
Убрать вывод названия определенной рубрики или нескольких рубрик может понадобиться вам по разным причинам. В моем случае, названия категорий выводятся в шапке сайта и понятно, что вместиться их там может ограниченное количество. Поэтому я хочу выводить в хедер только основные рубрики, а полный перечень категорий будет присутствовать в сайдбаре (боковой колонке).
Как узнать id рубрики WordPress?
Для того, чтобы скрыть рубрику нам понадобится узнать её порядковый номер, который присвоен рубрике в базе данных (идентификатор или просто id).
Для этого зайдите в админку и перейдите в раздел Записи – Рубрики.
В списке категорий наведите курсор мыши на название той рубрики, которую хотите скрыть.
В браузере внизу в информационной строке вы увидите url-адрес ссылки такого типа:
Найдите в этой строке значение параметра tag_ID. В данном случае tag_ID=7 – это и есть id рубрики. Т.е. в данном примере >
Также, id рубрики WordPress можно узнать непосредственно в базе данных в таблице wp_terms в поле term_id.
Как скрыть рубрику в WordPress?
Скрыть рубрику в WordPress можно глобально, т.е. убрать её вывод везде, где выводятся рубрики, либо локально – убрать, например, в хедере, но оставить в сайдбаре.
Начнем с локального скрытия названия категории.
Например, нужно убрать рубрику с из хедера.
Открываем файл /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)
function wp_list_categories ( $ args = ” ) <
$ defaults = array (
‘show_option_all’ = > ” , ‘show_option_none’ = > __ ( ‘No categories’ ) ,
‘orderby’ = > ‘name’ , ‘order’ = > ‘ASC’ ,
‘style’ = > ‘list’ ,
‘show_count’ = > 0 , ‘hide_empty’ = > 1 ,
‘use_desc_for_title’ = > 1 , ‘child_of’ = > 0 ,
‘feed’ = > ” , ‘feed_type’ = > ” ,
‘feed_image’ = > ” , ‘exclude’ = > ‘7’ ,
‘exclude_tree’ = > ” , ‘current_category’ = > 0 ,
‘hierarchical’ = > true , ‘title_li’ = > __ ( ‘Categories’ ) ,
‘echo’ = > 1 , ‘depth’ = > 0 ,
‘taxonomy’ = > ‘category’
После такого изменения, где бы вы не вызывали функцию wp_list_categories (в хедере, сайдбаре или футере), она всегда будет исключать из вывода категорию номер 7.
Успехов в сокрытии доходов рубрик! =)
31 комментарий к записи “Как скрыть рубрику в WordPress”
Анатолий 12 января 2014 в 01:25
Не совсем понял смысл. В хедере ведь можно подключить произвольное меню.
Алексей Ершов 12 января 2014 в 01:37
В хедере можно и произвольное меню подключить, а в сайдбаре и футере как скрыть рубрики в случае необходимости? Вот в этой статье я и показал эту возможность, раз она существует в WordPress. А то, что можно из хедера убрать рубрику таким образом – это один из вариантов. Ведь практически любую задачу можно решить несколькими способами.
Андрей 13 марта 2016 в 03:46
Добрый день,Алексей!
Помогите мне пожалуйста.
Проверил указанные Вами файлы, но функции wp_list_categories не обнаружил! :0(
Аркадий 15 июля 2014 в 09:17
Спасибо, очень помог. Я часа два бился, чтобы номер рубрики узнать. Надо же как все просто. Еще раз спасибо!
iliya 11 сентября 2014 в 10:22
Александр 14 ноября 2014 в 15:40
Попробовал оба способа по вашему описанию – не получилось (( Помогите . очень надо !!
Алексей Ершов 14 ноября 2014 в 15:51
У вас рубрики выводятся с помощью wp_list_categories? Тогда добавление номера рубрики в параметр exclude должно срабатывать. Либо нужно смотреть как именно в вашем шаблоне осуществляется вывод категорий.
Александр 14 ноября 2014 в 16:11
честно ? я не знаю
Александр 14 ноября 2014 в 16:10
СДЕЛАЛ .
использовал этот материал:
Александр 14 ноября 2014 в 16:14
Вот теперь бы еще и метки убрать ! Может кто знает ?
Виктор 1 января 2015 в 17:21
Спасибо очень полезная инфа, жаль что функционал вордпресса настолько скромный, что такие простые вещи нужно решать дополнительными кодами.
Анна 18 февраля 2015 в 21:43
Алексей, спасибо за интересную статью! Если скрыть рубрику, исчезнет ее название. Администратор любую публикацию может открыть через консоль. А простой читатель сможет увидеть эту рубрику (или статью из скрытой рубрики), придя на сайт через поиск (если введет соответствующий запрос в строке поиска браузера)? Спрашиваю потому, что перепрофилирую сайт, старый контент новой теме не соответствует, а удалять его не хочется. Пока перевела его в черновики, но в этом случае до него никому, кроме меня, не добраться… С уважением, Анна
Алексей Ершов 18 февраля 2015 в 22:14
Да, Анна, все верно – речь идет только об удалении названия рубрик(и) из списка (листинга) рубрик. Статьи скрытых рубрик при этом остаются доступными.
Юлия 7 мая 2015 в 18:14
Здравствуйте,Алексей! Большое спасибо за материал – раньше именно так и делала. Но сейчас столкнулась с темой – все перерыла, не вижу ничего похожего на функцию выводв рубрик – нигде. Может быть, у Вас найдется минутка посмотреть? Делаю сайт для своей компании (совершенно бесплатно), вопрос имиджа – расковырять это дело. Сайт csmrus.ru. Подробности: сделала навигац.меню из рубрик (кроме главной статичной страницы), вывела туда естественно не все рубрики. Некоторые другие (а, возможно, и некоторые из меню) хочу вывести в сайд-баре. Для начала – хотя бы одну рубрику “Рецепт месяца”, закрыв остальные.
Задача вроде элементарная, но где же место в коде?…Буду очень благодарна, если поможете. (Кстати, единств. место в коде, где стоит wp_list_categories – это я переправила с wp_list_pages – для случаев, когда не задано пользовательское праймери меню. Так, на будущее, если все переделывать на стандатное меню.
Большое спасибо!
С уважением,
Юлия
Алексей Ершов 16 мая 2015 в 17:11
Здравствуйте, Юлия!
Вижу уже все получилось? =)
Елена 18 июня 2015 в 01:42
Очень интересно и полезно, спасибо! Проделала все, как Вы учили, все получилось. Однако рекламодатели с Ротапост не хотят размещать свои материалы в скрытых рубриках, пришлось снова открыть((( Как бы сделать так, чтоб и на сайте они не светились и рекламодатели были довольны и платили за работу исправно, без замечаний…