Intereting Posts
Медленная скорость и высокая загрузка процессора для моего кода. Как его улучшить? Запросить и получить только заголовки сообщений, вместо того чтобы получать целые почтовые объекты Как найти код, выполняемый при вызове wp_head ()? Показать на странице каждый пост в блоге С комментариями предотвращать отправку сообщений Невозможно навести курсор на подменю add_theme_support ('admin-bar') вызывает фатальную ошибку контактная форма в шаблоне с jquery, validate и ajax RSS Feed не имеет стилей в chrome – функция для добавления одного? Как ограничить глубину иерархических страниц (для пользовательских типов сообщений) Только для детей Как перезаписать базовую функцию JavaScript? WordPress og: изображение не работает в whatsapp? Как я могу фильтровать мусор из Microsoft Word из вставленного содержимого? Потяните последний стабильный релиз через git wp_schedule_event не работал

Изменить родительский элемент меню

У меня есть пользовательское меню с пользовательским ходоком, и у меня есть пользовательские элементы «li». Но как я могу редактировать родительский элемент?

Пример меню

<ul id="some-weirdly-generated-id" data-i-want="some-data-here"> ... <li class="already-custom"> Menu item </li> ... </ul> 

Я редактирую элементы «li» в «start_el (..)» fcion моего рабочего …

 public function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) { $indent = ($depth) ? str_repeat("\t", $depth) : ''; $li_attributes = ''; $class_names = ''` ... /* I AM EDITING MY LI ELEMENT HERE */ } 

Но где, черт возьми, я могу редактировать элемент «UL»? Tyvm для советов!

Solutions Collecting From Web of "Изменить родительский элемент меню"

Для самого верхнего вывода ul помощью wp_nav_menu() вы можете изменить весь перенос элементов списка ( ul или иначе) с помощью items_wrap arg.

 wp_nav_menu( array( ... 'walker' => new Your_Nav_Walker_Class(), 'items_wrap' => '<ul class="your-class" data-u-want="some-data-you-want">%3$s</ul>', ... )); 

Пример пользователя в Codex


Для вывода ul s из nav walk walker (меню подуровня и т. Д.) Вы можете использовать что-то вроде:

 function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "\n$indent\n"; } function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent\n"; } 

Изменение глубины $ to target для подменю на разных уровнях.

Nav_Walker на github