Где закрывающий ul в walker?
-
Не могу в классе walker найти где выводятся закрывающие
мне нужно сделать меню с немного необычной структурой которая требует добавить два закрывающих тега div но лишь после того ul, который вложен в корневой li и 2 дива. (см вторую вставку кода ниже) Суть в том, что я теряю два закрывающих дива….
Вот класс который я использую// свой класс построения меню: class magomra_walker_nav_menu extends Walker_Nav_Menu { // add classes to ul sub-menus function start_lvl( &$output, $depth ) { // depth dependent classes $indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent $display_depth = ( $depth + 1); // because it counts the first submenu as 0 $classes = array( 'b-menu__hidden_list', // по умолчанию у подменю ul класс 'sub-menu', /*( $display_depth % 2 ? 'menu-odd' : 'menu-even' ), ( $display_depth >=2 ? 'sub-sub-menu' : '' ), 'menu-depth-' . $display_depth*/ ); $class_names = implode( ' ', $classes ); // Объединяет элементы массива в строку (на случай если мы хотели несколько классов для ul) // build html if ($depth == 0) {$z1 = '<div class="b-menu__list__iteam_hidden"><div class="row">'; $z2 = '</div></div>';} else {$z1 = ''; $z2 = '';} $output .= "\n" . $indent . $z1. '<ul class="' . $class_names . '">'."\n" ; } // add main/sub classes to li's and links function start_el( &$output, $item, $depth, $args ) { global $wp_query; $indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent // depth dependent classes $depth_classes = array( ( $depth == 0 ? 'b-menu__list__iteam' : 'b-menu__hidden_list__iteam' ), // если это родительский li /*( $depth == 1 ? 'b-menu__hidden_list__iteam' : '' ), ( $depth >=2 ? 'sub-sub-menu-item' : '' ), ( $depth % 2 ? 'menu-item-odd' : 'menu-item-even' ),*/ 'menu-item-depth-' . $depth ); $depth_class_names = esc_attr( implode( ' ', $depth_classes ) ); // passed classes $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = esc_attr( implode( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ) ); // build html $output .= $indent . '<li id="nav-menu-item-'. $item->ID . '" class="' . $depth_class_names . ' ' . $class_names . '">'; // link attributes $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; $attributes .= ' class="menu-link ' . ( $depth > 0 ? 'b-menu__hidden_list__iteam__links' : 'b-menu__list__iteam__links' ) . '"'; // если глубина больше нуля класс 'b-menu__hidden_list__iteam__links' $item_output = sprintf( '%1$s<a%2$s>%3$s%4$s%5$s</a>%6$s', $args->before, $attributes, $args->link_before, apply_filters( 'the_title', $item->title, $item->ID ), $args->link_after, $args->after ); // build html $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } }Вот код на выходе
<ul class="b-menu__list ddmenu"> <li id="nav-menu-item-8" class="b-menu__list__iteam menu-item-depth-0 menu-item menu-item-type-custom menu-item-object-custom"><a href="/property/" class="menu-link b-menu__list__iteam__links">Команда</a></li> <li id="nav-menu-item-4" class="b-menu__list__iteam menu-item-depth-0 menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children"><a href="http://nkbn.icopydoc.ru/category/%d0%b1%d0%bb%d0%be%d0%b3/" class="menu-link b-menu__list__iteam__links">Блог</a> <div class="b-menu__list__iteam_hidden"> <div class="row"> <ul class="b-menu__hidden_list"> <li id="nav-menu-item-26" class="b-menu__hidden_list__iteam menu-item-depth-1 menu-item menu-item-type-post_type menu-item-object-page"><a href="http://nkbn.icopydoc.ru/%d0%bd%d0%b0%d1%88%d0%b0-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%b0/" class="menu-link b-menu__hidden_list__iteam__links">Наша команда</a></li> </ul> <!-- В этом месте после закрывающего </ul> код класса теряет два дива ---> </li> <li id="nav-menu-item-6" class="b-menu__list__iteam menu-item-depth-0 menu-item menu-item-type-post_type menu-item-object-page"><a href="http://nkbn.icopydoc.ru/sample-page/" class="menu-link b-menu__list__iteam__links">Сотрудничество</a></li> </ul>Подскажите, как мне добавить эти 2 закрывающих дива….
Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)
Тема «Где закрывающий ul в walker?» закрыта для новых ответов.