Intereting Posts
Как удалить «Гордо работает на WordPress» в 20-й (2016) теме? Ошибка базы данных WordPress У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL WP_Query posts_per_page Только вывод одной записи Список пользователей WordPress при нажатии ссылки как всплывающее окно Гравитационные формы Плагин плагина Marketo Дополнительные пользовательские поля WYSIWYG Больше тегов Как получить идентификаторы для объектов в ветке меню? Multisite: использование поддоменов в структуре каталогов конфликтует с сайтом на субдомене Усечение последней активности в buddypress Перечисляет пользовательские термины таксономии, которые имеют специфическое значение поля, присвоенное термину (не сообщению) Как я могу указать, что область моей темы содержит виджеты? В jquery используйте переменную php для выполнения файла enqueued jquery Ajax загружает больше с заранее настраиваемым полем Получите User_id вне wordpress, Письма с электронной почтой Cron

wp_nav_menu пользовательский ходок – дочерние элементы

Я написал пользовательский ходунок для интеграции раскрывающегося сценария jQuery в мой шаблон WordPress. Мне нужно добавить .dropdown-link для каждого из моих родительских пунктов меню и .dropdown-wrapper в неупорядоченный список моих дочерних элементов. Это очень хорошо работает.

Моя проблема заключается в том, что из-за моего раскрывающегося сценария мне нужно сгруппировать элементы моего дочернего меню в группы по 3, каждый со своим неупорядоченным списком … и это кажется очень сложным с тем, как класс Walker_Nav_Menu отображает элементы списка

Я вижу, что открытый неупорядоченный список для дочерних элементов generated in start_lvl() и $output.= in start_el() определяет рендеринг элементов списка.

Но где начальный неупорядоченный список (class = menu) для генерируемых родительских элементов? Почему я этого не вижу? Я думаю, что часть ответа может заключаться в том, как работает apply_filters('walker_nav_menu_start_el'...) и здесь не хватает моего знания wp … Я не понимаю, как фильтры вызывается в WP. И я не понимаю, к чему относится walker_nav_menu_start_el в этом сценарии …

Я хочу знать, как я могу различать родительский неупорядоченный список и список неупорядоченных детей. Мой идеальный выход:

 <ul id="main-nav" class="menu"> <li><a href="#" class="dropdown-link">ABOUT</a> <ul class="dropdown-wrapper"> <li> <ul class="nav-column"> <li><a href="#">sunnav1</a></li> <!-- these are the child menu items --> <li><a href="#">sunnav2</a></li> <!-- they need to be in groups of 3 --> <li><a href="#">sunnav3</a></li> </ul> etc ... 

Пользовательский ходок здесь:

 class dropdown_menu_walker extends Walker_Nav_Menu { function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "\n$indent<ul class=\"sub-menu dropdown-wrapper\">\n"; } function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent</ul>\n"; } function start_el(&$output, $item, $depth, $args) { global $wp_query; $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $class_names = $value = ''; $classes = empty( $item->classes ) ? array() : (array) $item->classes; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ); $class_names = ' class="'. esc_attr( $class_names ) . '"'; $output .= $indent . '<li id="menu-item-'. $item->ID . '"' . $value . $class_names .' count="' . $counter.'">'; $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 .= ! empty( $item->classes ) ? ' class="dropdown-link"' : ''; $item_output .= '<a'. $attributes .'>'; $item_output .= apply_filters( 'the_title', $item->title, $item->ID ); $item_output .= '</a>'; $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); }} 

Solutions Collecting From Web of "wp_nav_menu пользовательский ходок – дочерние элементы"