Установка CSS-класса родительского меню из дочернего меню с использованием PHP / WordPress - PullRequest
3 голосов
/ 21 августа 2010

У меня есть следующая настройка меню, которая в основном имеет родительское меню «Продукты» с двумя дочерними пунктами меню, которые я использую внутри своей структуры меню WordPress 3, в частности, внутри моего файла sidebar.php:

<ul id="themenu" class="sf-menu sf-vertical">
        <li><a class="sf-with-ul topm" href="#">Products</a>
            <li><a href="information">Information</a></li>
            <li><a href="parts">Parts</a></li>
        </li>
</ul>

Я не уверен, что делать с помощью PHP, когда пользователь нажимает на любой из параметров дочернего меню, например «Информация или детали», я хотел бы добавить класс css для currentMenu в его родительский класс меню, то есть:

<li><a class="sf-with-ul topm currentMenu" href="#">Products</a>

Буду признателен за помощь в этом.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 22 августа 2010

Wordpress делает это для вас.Он добавляет классы в ваше меню (при условии, что вы используете wp_list_pages).

Классы current_page_parent и current_page_ancestor

РЕДАКТИРОВАТЬ: если вы печатаете навигацию статически, вы можете сделать это

<ul id="themenu" class="sf-menu sf-vertical">
        <li><a class="<?php if( in_array( $_SERVER['REQUEST_URI'], array( '/information','/parts' )  ) ?>currentMenu<?php endif; ?>" href="#">Products</a>
            <li><a href="information">Information</a></li>
            <li><a href="parts">Parts</a></li>
        </li>
</ul>

Он проверяет URL-адрес, и если URL-адрес находится в списке, он устанавливает класс в currentMenu.Вы должны отредактировать массив URL для этого родителя в соответствии с вашими потребностями.

0 голосов
/ 22 августа 2010

Как насчет использования jQuery вместо этого, как это:

$('#themenu a').click(function(){
  $(this).closest('.topm').addClass('currentMenu');
  return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...