Как в списке рубрик WordPress-сайта выделить рубрику текущей записи
Представим ситуацию, что у нас на сайте есть список рубрик и нужно сделать, так, чтобы, когда мы находимся на странице одной записи, то та рубрика, в которой находится эта запись, выделялась в списке всех рубрик сайта.
Эта задача решается всего несколькими строчками php-кода, которые добавляют нужной рубрике специальный CSS-класс. А само выделение рубрики, как вы, наверное, уже догадались, будет осуществляться с помощью CSS.
Находим в шаблоне вашего сайта стандартную фукнцию вывода списка рубрик:
<?php wp_list_categories('тут_могут_быть_какие-то_параметры'); ?>
И вместо нее вставляем вот такой код:
<?php
if (is_single()) {
$cat = get_the_category();
$cat = $cat[0]->cat_ID;
$currentCat = '¤t_category='.$cat;
}
wp_list_categories('тут_могут_быть_какие-то_параметры'.$currentCat);
?>
И, конечно, не забудьте вставить параметры функции wp_list_categories
, которые у вас были, т.е. чтобы строка с этой функцией в итоге выглядела примерно так:
wp_list_categories('show_count=1&orderby=term_group&title_li='.$currentCat);
В результате к соответствующей рубрике будет добавляться класс current-cat
, используя который можно выделить рубрику через CSS, например, так:
li.current-cat {
font-weight: bold;
}
Комментарии (8)
Добрый вечер! А этот код работает с пользовательской таксономией? Кажется нет, какой другой использовать код?
Не знаю, таксономиями не пользуюсь.
Dimox, можете помочь? очень нужно…
Если бы я знал, как это делается, то написал бы в предыдущем комментарии.
нашел рабочий способ сделать это для таксономии, вот код, возможно кому-то пригодится)
Как раз мне и пригодится))) Буду пробовать.
Приветствую, а как к дочернему элементу приклеить свой клас, а именно к
присобачить
, надеюсь вопрос понятен.
Спасибо! Думал это будет сделать сложней)