Intereting Posts
случайные символы в ссылках Каков правильный рабочий процесс для изменения дочерних тем? Использовать wget для поиска использованных изображений Параметры API настройки темы при установке Обзор плагина с рейтингом post Использование настраиваемого значения поля в качестве текущего имени пользователя Как получить все плагины и их номера версий из локальных файлов? Получение Whitescreen при публикации сообщения Nginx – Предотвращение доступа к отладочному файлу Начало работы с Subversion, Git или аналогичной системой контроля версий, чтобы сохранить историю моих файлов? Список всех сообщений за прошлую неделю, сгруппированных по подкатегории Создайте список пользователей на каждом сайте для связи планов обновления WordPress get_posts по категориям Ссылка из сообщения в другое сообщение через нажатие на слова в исходном сообщении Что происходит, когда два или более плагина используют один и тот же крючок?

Как выводить меню, структурированное для навигации с вкладками?

У меня есть дизайн для моей веб-страницы, который использует вкладку навигации с двумя уровнями. В этом примере выбрана вкладка «TAB2», а нижняя часть – дочерняя.

ˬ |TAB1| |TAB2| |TAB3| tab2-item1 tab2-item2 tab2-item3ˬ tab2-item4 ... 

Единственная веб-страница, которую я мог найти, которая использует что-то simmilar, действительно старомодно, но показывает, что я хочу в целом. образец веб-страницы (не мой)

Я думаю, что для этого мне нужна следующая структура html: using bootstrap:

  //Bootstrap 2.32 nav tabs <ul class="nav nav-tabs"> <li class="active"><a href="#tab1" data-toggle="tab">TAB 1</a></li> <li><a href="#tab2" data-toggle="tab">TAB 2</a></li> </ul> <div class="tab-content"> <div class="tab-pane active" id="tab1"> <ul> <li>tab1-item1</li> <li>tab1-item2</li> <li>tab1-item3</li> </ul> </div> <div class="tab-pane" id="tab2"> <ul> <li>tab2-item1</li> <li>tab2-item2</li> <li>tab2-item3</li> <li>tab2-item4</li> </ul> </div> </div> 

Каков наилучший способ печати меню в этом формате?

Solutions Collecting From Web of "Как выводить меню, структурированное для навигации с вкладками?"

Какая жалость, на которую никто не ответил. Я сперва проверил класс walker, прежде чем узнал, что с wp_get_nav_menu_items () будет намного проще,

Это то, что я придумал. Не идеально, но он работает (только два уровня, которые достаточно для моей страницы).

 $menu_name = 'primary'; if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) { $menu = wp_get_nav_menu_object( $locations[ $menu_name ] ); $menu_items = wp_get_nav_menu_items($menu->term_id); foreach ( (array) $menu_items as $key => $menu_item ) { $title = $menu_item->title; $url = $menu_item->url; $curr_item_parent = $menu_item->menu_item_parent; $curr_item_id = $menu_item->db_id; if($curr_item_parent) { $sub_list[$curr_item_parent][] = array('title' => $title, 'url' => $url, 'id' =>$curr_item_id, 'parent_id' => $curr_item_parent); $parent_list[] = $curr_item_parent; } else { $tab_list[] = array('title' => $title, 'url' => $url, 'id' =>$curr_item_id); $toplevel_list[] = $curr_item_id; } $complete_list[] = $curr_item_id; } } $parentless_list = array_diff ($toplevel_list, array_unique($parent_list)); var_dump($parentless_list); $menu_output .="<ul class='nav nav-tabs'>"; foreach($tab_list as $tab) { $tab = (object)$tab; $menu_output .="<li class=''><a href='#{$tab->id}' data-toggle='tab'>{$tab->title}</a></li>"; } $menu_output .= "</ul>"; $menu_output .= "<div class='tab-content'>"; foreach($sub_list as $key=>$sub_array) { $menu_output .= "<div class='tab-pane' id='{$key}'>"; foreach($sub_array as $sub) { $sub = (object)$sub; $menu_output .="<li class=''><a href='#{$sub->url}' data-toggle='tab'>{$sub->title}</a></li>"; } $menu_output .= "</div>"; foreach($parentless_list as $dummy_item) { $menu_output .= "<div class='tab-pane' id='{$dummy_item}'></div>"; } } $menu_output .= "</div>"; echo $menu_output;