WordPress: выводим подрубрики и список тегов (меток) на странице рубрики

1. Выводим подрубрики на странице рубрик
Находим файл в шаблоне, который отвечает за рубрики. Обычно это archive.php (выыодит архивы и категории одновременно) или category.php (выводит только категории).
Вставляем в него, в то место, где хотим вывести список подрубрик, следующий код:
<div class="subcat"><ul class="subcateg"> <?php if (count(get_categories('child_of='.$cat))) if (is_category()) { $current_cat=get_query_var('cat'); wp_list_categories('child_of='.$current_cat.'&title_li=&show_count=1');} ?> </ul></div>
Вот что тут происходит:
- В строке 1 обачиваем код функции общим блоком с классом subcat, чтобы задать ширину и отступы всему блоку со всеми ссылками на подрубрики;
- Строка 2 начинает вывод php функции;
- Строка 3 задает условие для вывода функции. Если в текущей категории нет подрубрик, тогда код срабатывать не будет и никаких надписей типа "Рубрик нет" не будет выводиться;
- Строка 4 также задает условие. Если это категория, тогда идем далее и приступаем к выводу;
- Строка 5 - если ее убрать, то будет выводиться весь список рубрик стайта;
-
Строка 6 - функция, которая выводит список рубрик. В скобках указаны параметры:
- child_of='.$current_cat.' - указывает, что текущая страница является родительской рубрикой и будут выводиться только ее подрубрики, а не все имеющиеся на сайте;
- &title_li= - указывает, что не будет выводиться заголовок для списка с ссылками на категории, например "Рубрики";
- show_count=1 - отображать ли количество записей в каждой из рубрики (подрубрик). 1 - отображать, 0 - не отображать.
Приведу кусок своих css-стилей для оформления (тут и для меток тоже уже прописаны):
.subcat{ width: 100%; margin: 0px auto 10px; } .subcat ul { list-style: none; margin: 0; } .subcat ul li{ //margin: 0px 10px; font-size: 14px; padding: 0px 10px 10px 0px; float: left; } .subcat ul li .cat-item-7{ background: url("images/icon_subcat.png") no-repeat scroll 0px 2px transparent; padding-left: 20px; padding-bottom: 3px; } .subcat ul li a{ color: #34495E !important; //border: 1px solid #ddd; -webkit-box-shadow: none; box-shadow: none; display: block; padding: 4px 10px 5px; position: relative; -webkit-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out; transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out; width: auto; word-wrap: break-word; z-index: 0; background: #fd0; } .children li a {font-size:10px;} .graydiv { padding: 5px 20px; background: #eeeeee; } .subtags {margin:0;} .subtags li{ margin: 0px 10px; font-size: 12px; padding: 0px 6px 0px 0px; float: left; }
2. Выводим список меток в рубрике.
Надо вывести на странице рубрики список всех меток (тегов) из записей, которые в ней находятся.
Вставляю ниже предыдущего кода
<?php $postIDs = get_objects_in_term(get_query_var('cat'), 'category'); if (!empty($postIDs) && !is_wp_error($postIDs)) { $tags = wp_get_object_terms($postIDs, 'post_tag'); if (!empty($tags) && !is_wp_error($tags)) { ?> <div class="graydiv clear"> <ul class="subtags"> <?php foreach($tags as $tag) { ?> <li><a href="<?php echo get_term_link($tag, 'post_tag') ?>"><?php echo $tag->name ?></a></li> <?php } ?> </ul> </div> <?php } ?> <?php } ?> <hr />
Чтобы выводить все метки из текущей рубрики и ещё из её подрубрик, замените вторую строку на
$cat = get_query_var('cat');
$catIDs = get_term_children($cat, 'category');
array_push($catIDs, $cat);
$postIDs = get_objects_in_term($catIDs, 'category');

Источники:

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 0 WordPress: Как скрыть показ записей определенных рубрик на главной странице (23.05.2014)
- 0 WordPress: Добавить ещё одну область виджетов (widget area) в шаблон главной страницы (08.02.2014)
- 0 WordPress: Выводим виджет новостей в теле страницы (вставка виджетов в страницу) (16.11.2013)
- 0 WordPress: Плагин мультиязычности WPML Multilingual CMS (14.06.2013)
- 0 WordPress: Gantry Framework. Тонкий момент с Widgets Override, widget variations. (23.05.2013)
- 0 WordPress: Настройки плагина галереи NextGen Gallery (04.03.2014)
- 0 WordPress: Иконка favicon.ico для области администратора (22.04.2013)
- 0 WordPress. Настройка для локальной работы (27.03.2013)
- 0 WordPress: Добавить ссылку "Сохранить фото" для галереи на NextGen с эффектом Lightbox (12.04.2013)
- Как восстановить пароль администратора WordPress? (07.02.2019)
- WordPress необходим доступ к вашему серверу (05.02.2019)
- WordPress: выводим подрубрики и список тегов (меток) на странице рубрики (29.01.2018) ← вы тут
- WordPress: php код в виджетах шаблона без плагина (28.01.2018)
- WordPress: Как правильно изменять файлы стандартной темы. Дочерняя тема (30.06.2017)
- WordPress: Как выводить свои таксономии на странице. Создаём свои шорткоды. (08.01.2017)
- Wordpress. Как добавить в шаблон собственную область для вывода виджетов (03.01.2017)
