http://wordpress.org/extend/ – пример, где выделена Extend
Что нужно получить, чтобы тоже была выделена.
http://wordpress.org/extend/plugins/
http://wordpress.org/extend/themes/
Нашел это:
<li<?php
if (is_category('Design') || in_category('10') && !is_single())
{
echo " id=\"current\"";
}?>>
<a href="<?php bloginfo('url') ?>/category/design">Design</a>
</li>
Здесь: http://codex.wordpress.org/Dynamic_Menu_Highlighting
Но не работает должным образом.
Ю.Б. как-то на форуме публиковал:
в functions.php
[code- //на странице одной записи подсвечивается категория – Ю.Б.
add_filter(‘wp_list_categories’,’ccats’);
function ccats($list) {
if ( ! is_single() ) return $list;
foreach((get_the_category()) as $category) {
$temp
= $category->cat_ID;
}
$temp = ‘/(cat-item-(‘.join(‘|’,$temp).’))[ |"]/’;
$list = preg_replace($temp,’ current-cat $1"’,$list);
return $list;
}[/code]
больше ничего делать не надо, разве что css класс current-cat обозначить в стилях, пример работы — у меня в блоге (на беж. вкладке: wordpress и-ха-ха-ха! Маразмы и .т.д.)
Действительно работает. Благодарю.
Понравилась фраза: "больше ничего делать не надо".
Так радует глаз ленивого программиста 🙂
Очень логичное решение, обязательно добавлю в свой стандартный набор функций для WP
В версии 2.7 не получилось использовать данное решение – сайт полностью отрубается. Наверно, я неправильно код размещаю.
Наверное. Для наглядности functions.php от Темы classic:
Ни до <?php, ни после ?> не должно быть ничего: ни пустых строк, ни пробелов, на BOMа, ни какого-либо кода.
Разобрался – благодарю, Ю.Б.
Спустя почти год потребовалось подсвечивать статьи из подкатегорий категорий, которые в меню 🙂
Вдруг у кого завалялся код 🙂
СКажите, где у меня ошибка? Категории подсвечиваются только в архивах категорий, в сингле нет
<?php
add_filter(‘wp_list_categories’,’ccats’);
function ccats($list) {
if ( ! is_single() ) return $list;
foreach((get_the_category()) as $category) {
$temp[] = $category->cat_ID;
}
$temp = ‘/(cat-item-(‘.join(‘|’,$temp).’))[ |"]/’;
$list = preg_replace($temp,’ current-cat $1"’,$list);
return $list;
}
?>
Только что проверил – код работает, класс current-cat добавляет (WP3.1.2, TwentyTen, виджет "рубрики")
Никогда так не ставьте вопрос, если не хотите нарваться на ответ.
Для тех, кто еще не знает, классический программерский анекдот.
Приходит ламер к хакеру, показывает листинг программы и спрашивает:
– Где у меня ошибка?
Хакер, бегло взглянув на код, отвечает:
– В ДНК.
У меня не добавляет.
http://www.dietplan.ru/fit/akvajrobika-tancuyut-vse/ нет current-cat
http://www.dietplan.ru/fit/ – есть current-cat
Может, в Functions.php еще что-то нужно писать?
Приведенный код и нужно. Только лучше без собственных <?php и ?>, а внутрь уже имеющихся.
На Темах, которые используют какой-то свой специфический способ получения списка рубрик или используют тот же хук, может и не сработать.
А у меня functions совершенно пустой. Я просто поставила туда ваш код