[Помогите] Подсветка текущего пункта меню

Тема в разделе "Wordpress", создана пользователем Рим, 29 ноя 2009.

Статус темы:
Закрыта.
Модераторы: Sorcus
  1. Рим

    Рим Создатель

    Регистр.:
    22 май 2009
    Сообщения:
    40
    Симпатии:
    0
    Привет всем,
    на блоге текузему пункту меню, присваиется класс и, соответсвенно, пункт выделяется другим цветом.

    Но главной странице никакой класс не присваивается, вот как выглядит исходный код:
    HTML:
    
    <div id="navbar">
    <div id="navbarleft">
    <ul id="nav">
    <li><a href="http://сайт.ru">Домой</a></li>
    <li class="page_item page-item-2"><a href="http://сайт.ru/about">О сайте</a>
    
    а вот, когда активен другой пункт, не главная:
    HTML:
    
    <div id="navbar">
    <div id="navbarleft">
    <ul id="nav">
    <li><a href="http://сайт.ru">Домой</a></li>
    <li class="page_item page-item-2 current_page_item"><a href="http://сайт.ru/about">О сайте</a>
    
    Т.е. класс current_page_item.

    Я пробовал изменить код, добавить, мол, если главн.страница присвоить ей класс, но ничего не вышло. Исходник выглядит так:
    HTML:
    
    <div id="navbarleft">
    <ul id="nav">
    <li><a href="<?php echo get_option('home'); ?>"><?php _e("Домой", 'studiopress'); ?></a></li>
    <?php wp_list_pages('sort_column=menu_order&title_li='); ?>
    </ul>
    </div>
    
    Что добавить, чтобы цвет у первого пункта меню другой был, когда я на главной?
     
  2. Рим

    Рим Создатель

    Регистр.:
    22 май 2009
    Сообщения:
    40
    Симпатии:
    0
    в php кто нибудь разбирается? Я так понимаю надо условие постовить, что если home то присвоить ему класс current_page_item (в стилях класса прописан другой цвет как надо). Вопрос в том как правильно этот клас главной странице присвоить, когда мы на ней находимся...
     
  3. strike990

    strike990 Писатель

    Регистр.:
    24 ноя 2009
    Сообщения:
    6
    Симпатии:
    4
    Оставь URL проекта хотябы. Чем смогу тем помогу.
     
    Рим нравится это.
  4. Рим

    Рим Создатель

    Регистр.:
    22 май 2009
    Сообщения:
    40
    Симпатии:
    0
    а личку написал урл, когда мы на главной, она не подсвечивается...а пунтк "Блог",например, выделяетя зеленым, ибо класс куррент_пэйдж...
     
  5. strike990

    strike990 Писатель

    Регистр.:
    24 ноя 2009
    Сообщения:
    6
    Симпатии:
    4
    PHP:
    <?php if (is_home()) { ?>
    <li class="current_page_item"><a href="<?php echo get_option('home'); ?>/">Домой</a></li>
    <?php } else { ?>
    <li><a href="<?php echo get_option('home'); ?>/">Домой</a></li>
    <?php ?>
    Правь под эту схему :)
     
    ddyadya и Рим нравится это.
  6. vojack

    vojack Постоялец

    Регистр.:
    11 окт 2009
    Сообщения:
    126
    Симпатии:
    9
  7. Jaarg

    Jaarg

    Регистр.:
    18 авг 2008
    Сообщения:
    503
    Симпатии:
    97
    вот тут
    http://codex.wordpress.org/Conditional_Tags
    прописаны "условные теги". позволяют чуть ли ни каждой странице свой css прикрутить.
    кроме того, можно было решить через "шаблоны" - сделать для главной стр отдельный шаблон и назначить его ей.
     
  8. sinusoida

    sinusoida Создатель

    Регистр.:
    12 сен 2007
    Сообщения:
    23
    Симпатии:
    3
    Как ни страно для себя подобную проблему решил при помощи буквально пары строчек на джаваскрипте (jQuery).
    У тебя в теме jQuery где-то применен? Если да - поищу у себя этот сниппет.
     
  9. AVTOLANGEPAS

    AVTOLANGEPAS Писатель

    Регистр.:
    9 ноя 2011
    Сообщения:
    8
    Симпатии:
    1
  10. Truper

    Truper

    Регистр.:
    20 ноя 2006
    Сообщения:
    211
    Симпатии:
    112
    По моему это самый простой вариант:
    PHP:
    <div id="navbarleft">
    <ul id="nav">
    <li><a href="/" <?php if(is_home()){echo 'class="currnet_page_item"';} ?>>Домой"</a></li>
    <?php wp_list_pages('sort_column=menu_order&title_li='); ?>
    </ul>
    </div>
     
Статус темы:
Закрыта.