Идентификатор вывода вывода для всех nav_items

Я ищу решение для своей навигации в новом шаблоне WordPress, который я разрабатываю.

Как я могу вывести уникальный идентификатор сообщения для каждого элемента навигации?

Я хочу создать для клиента один-пейджер (микросайт).

Прежде чем я попробовал что-то с walker-nav и другими вещами, которые не сработали.

Надпись html для навигации будет выглядеть так:

<ul id="menu-res" class="main-menu"><li id="menu-item-72" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-72"><a href="#home">Home</a></li> <li id="menu-item-238" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-238"><a href="#services">Services</a></li> <li id="menu-item-73" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-73"><a href="#about">About</a></li> <li id="menu-item-75" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-75"><a href="#skills">Skills</a></li> <li id="menu-item-346" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-346"><a href="http://www.yourstorepick.com/pro-site/">Pro Site</a></li> <li id="menu-item-347" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-347"><a href="http://www.yourstorepick.com/wp-signup.php?pro-site=1">Sign up</a></li> <li id="menu-item-74" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-74"><a href="#our-team">Our Team</a></li> <li id="menu-item-239" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-239"><a href="#our-work">Our Work</a></li> <li id="menu-item-236" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-236"><a href="#blog">Blog</a></li> <li id="menu-item-237" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-237"><a href="#contact">Contact</a></li> </ul> 

Из приведенного выше кода вы можете видеть, что у каждого ли есть уникальный идентификатор, в этом menu-item-XXX есть формат ID. menu-item- будет одинаковым, а XXX будет отличаться. Вы можете извлечь этот идентификатор.

Если вы хотите получить соответствующие идентификаторы сообщений из данного идентификатора меню, попробуйте:

 $menu_id = 'mymenu'; $items = wp_get_nav_menu_items( $menu_id ); $ids = ( $items ) ? wp_list_pluck( $items , 'object_id' ) : array(); 

где вам нужно изменить $menu_id на ваши нужды.

Soooo, я пробовал решение с javascript. Он работает без проблем.

Для теста отладки:

 <script> $(function() { alert($('.menu-item').attr('id')); }); </script> 

Это дает мне идентификатор из каждого элемента в nav out как предупреждение. Теперь я извлекаю номер в конце и затем добавляю идентификатор пункта меню.

спасибо за все ответы, ура 🙂