wp1.jpgПредставим ситуацию, что у нас на сайте есть список рубрик и нужно сделать, так, чтобы, когда мы находимся на странице одной записи, то та рубрика, в которой находится эта запись, выделялась в списке всех рубрик сайта.

Эта задача решается всего несколькими строчками php-кода, которые добавляют нужной рубрике специальный CSS-класс. А само выделение рубрики, как вы, наверное, уже догадались, будет осуществляться с помощью CSS.

Находим в шаблоне вашего сайта стандартную фукнцию вывода списка рубрик:

<?php wp_list_categories('тут_могут_быть_какие-то_параметры'); ?>

И вместо нее вставляем вот такой код:

<?php
if (is_single()) {
$cat = get_the_category();
$cat = $cat[0]->cat_ID;
$currentCat = '&current_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;
}

Хочу обратить ваше внимание на то, что эта «примочка» будет работать только на WordPress выше версии 2.6, так как параметр функции wp_list_categories — «current_category» был добавлен только с этой версии.

h++p://wphacks.name/highlight-current-post-category/

Категория: WordPress | Теги:

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