Выделение ссылки верхнего уровня при просмотре одной из ее подстраниц - PullRequest
0 голосов
/ 02 августа 2011

У меня есть страница, которая не связана в моем пользовательском меню.На этой странице есть родительская страница, которая является связанной в пользовательском меню.

Если я перехожу на страницу "не связанная", я хочу выделить ссылку на родительскую страницу вменю.

Есть ли способ сделать то, что я хочу?

1 Ответ

0 голосов
/ 04 августа 2011

Вы должны использовать wp_get_nav_menu_items, чтобы изменить класс элемента родительской страницы.Пример:

function my_menu_items_hook($items, $menu, $args) {

  if ( 'my-menu-slug' == $menu->slug ) {
    if ( '/my-child/' == $_SERVER['REQUEST_URI'] ) { // check if current page is child page
      foreach ( $items as $key => $value ) {
        if ( YOUR_PARENT_PAGE_ID == $value->ID ) {
          $items[$key]->classes[] = 'current-menu-item';
        }
      }
    }
  }

  return $items;
}

add_action('wp_get_nav_menu_items', 'my_menu_items_hook', 10, 3);

Если у вашей дочерней страницы могут быть параметры, тогда лучше использовать обычную функцию выражения или substr вместо проверки значения $ _SERVER ['REQUEST_URI'].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...