Intereting Posts
Каково имя параметра в настройке для флажка «Отобразить заголовок сайта и теглайн»? отображать самые популярные теги в двух столбцах Проблема с множественным переадресацией как отобразить имя таксономии в теге shorcode php Создание страницы параметров темы? Как я могу увидеть список продуктов, которые я установил для исключения из пользовательского поля? добавление переменных GET в местоположение header () в шаблоне страницы Yoast Новости Карта сайта Могу ли я получить разные ссылки для разных установленных тем? Глобальная навигация в многопользовательском режиме: проблема с категориями подсчитывать сообщения от пользовательских таксономических условий по годам Сообщение об успехе меню администратора Использование TinyMce с текстовыми полями в метаблоках на пользовательских типах сообщений Включить пользовательский интерфейс jQuery в целом Содержание с коротким кодом

используя меню walker для добавления классов и атрибутов к элементам

Я хочу использовать WordPress Walker меню для достижения именно этой структуры меню:

<a href="#myid" class="list-group-item" data-toggle="collapse">Item 1</a> <div class="collapse" id="myid"> <a href="" class="list-group-item">Subitem 1</a> <a href="" class="list-group-item">Subitem 2</a> <a href="" class="list-group-item">Subitem 3</a> </div> 

Вот мои потребности:
1- каждый элемент родительского меню должен иметь атрибут data-toggle = "collapse" и класс list-group-item
2- все элементы привязки должны иметь класс списка-списка элементов
3- все дочерние элементы родительского элемента должны быть обернуты внутри div с классом коллапса, а идентификатор этого div должен быть равен атрибуту href родительского элемента меню. например: родительское меню имеет «a href = '# myid», поэтому у div контейнера для дочерних элементов этого родительского меню должен быть идентификатор myid

Я не умею работать с классом walker, так что, пожалуйста, помогите мне с этим?

Я попробовал еще кое-что, и теперь у меня есть что-то, но не полное. не могли бы вы мне помочь? Спасибо.

 <?php class wp_bt_navwalker extends Walker_Nav_Menu { public function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat( "\t", $depth ); $output .= "\n$indent<ul id=\"364\" class=\"collapse\">\n"; } public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) { $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $atts = array(); $atts['title'] = ! empty( $item->title ) ? $item->title : ''; $atts['target'] = ! empty( $item->target ) ? $item->target : ''; $atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : ''; // If item has_children add atts to a. if ( $args->has_children && $depth === 0 ) { $atts['href'] = '#'.$item->ID; $atts['data-toggle'] = 'collapse'; $atts['class'] = 'list-group-item'; } else { $atts['href'] = ! empty( $item->url ) ? $item->url : ''; }