1

Тема: Активное категория в меню при просмотре записи из этой категории

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

Но не работает должным образом.

2

Re: Активное категория в меню при просмотре записи из этой категории

Ю.Б. как-то на форуме публиковал:
в functions.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;
}

больше ничего делать не надо, разве что css класс current-cat обозначить в стилях, пример работы — у меня в блоге (на беж. вкладке:  wordpress и-ха-ха-ха! Маразмы  и .т.д.)

Едет вебмастер в поезде и слышит: <td></td> … <td></td> … <td></td>
шаблоны Темы

3

Re: Активное категория в меню при просмотре записи из этой категории

Действительно работает. Благодарю.

Понравилась фраза: "больше ничего делать не надо".
Так радует глаз ленивого программиста :-)

4

Re: Активное категория в меню при просмотре записи из этой категории

Очень логичное решение, обязательно добавлю в свой стандартный набор функций для WP

Рекурсия: см. рекурсия.

5

Re: Активное категория в меню при просмотре записи из этой категории

В версии 2.7 не получилось использовать данное решение - сайт полностью отрубается. Наверно, я неправильно код размещаю.

6

Re: Активное категория в меню при просмотре записи из этой категории

Наверное. Для наглядности functions.php от Темы classic:

<?php

// можно свой код ставить тут

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '',
        'after_title' => '',
    ));

// или тут

?>

Ни до <?php, ни после ?> не должно быть ничего: ни пустых строк, ни пробелов, на BOMа, ни какого-либо кода.

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

7

Re: Активное категория в меню при просмотре записи из этой категории

Разобрался - благодарю, Ю.Б.

8

Re: Активное категория в меню при просмотре записи из этой категории

Спустя почти год потребовалось подсвечивать статьи из подкатегорий категорий, которые в меню :-)
Вдруг у кого завалялся код :-)

Re: Активное категория в меню при просмотре записи из этой категории

СКажите, где у меня ошибка? Категории подсвечиваются только в архивах категорий, в сингле нет


<?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;
}
?>

10

Re: Активное категория в меню при просмотре записи из этой категории

Девушка пишет:

Категории подсвечиваются только в архивах категорий, в сингле нет

Только что проверил - код работает, класс current-cat добавляет (WP3.1.2, TwentyTen, виджет "рубрики")

Девушка пишет:

СКажите, где у меня ошибка?

Никогда так не ставьте вопрос, если не хотите нарваться на ответ.

Для тех, кто еще не знает, классический программерский анекдот.

Приходит ламер к хакеру, показывает листинг программы и спрашивает:
- Где у меня ошибка?
Хакер, бегло взглянув на код, отвечает:
- В ДНК.

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

11

Re: Активное категория в меню при просмотре записи из этой категории

У меня не добавляет.

http://www.dietplan.ru/fit/akvajrobika-tancuyut-vse/  нет current-cat

http://www.dietplan.ru/fit/   - есть current-cat

Может, в Functions.php еще что-то нужно писать?

12

Re: Активное категория в меню при просмотре записи из этой категории

Девушка пишет:

Может, в Functions.php еще что-то нужно писать?

Приведенный код и нужно. Только лучше без собственных <?php и ?>, а внутрь уже имеющихся.

На Темах, которые используют какой-то свой специфический способ получения списка рубрик или используют тот же хук, может и не сработать.

[signature]Есть ли смысл просить инструкцию по регулировке карбюратора, если не знаешь, в каком из багажников находится двигатель?[/signature]

13

Re: Активное категория в меню при просмотре записи из этой категории

А у меня functions совершенно пустой. Я просто поставила туда ваш код