Как получить глубину меню в шаблоне

В wp_nav_menu я использую для меню, с пользовательским ходоком, я могу получить параметр $ depth в функции start_el

function start_el(&$output, $item, $depth, $args) 

но, вне этого wp_nav_menu (), как я могу получить глубину меню для выбранного элемента? Например :

  • Главная
  • level1menuelement1 -level2menuelement1 (первый элемент первого подменю) -level2menuelement2 (второй элемент первого подменю)
  • level1menuelement2

В этом случае я хочу знать, находится ли мой пост на уровне 1 или нет, для отображения определенного блока или нет.

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

благодаря

как получить связь между страницей и пунктом меню? = существует ли функция WP, сообщающая, что эта страница связана с этим пунктом меню, который имеет или не имеет родительского элемента

Внутри ходока, внутри метода start_el (который вы упомянули), $item->object_id – это идентификатор страницы.

В противном случае вам нужно вытащить меню …

 $locations = get_nav_menu_locations(); $nav_items = wp_get_nav_menu_items($locations['your-menu-location']); 

… и цикл над этим массивом, чтобы соответствовать текущему идентификатору страницы с object_id в данных $nav_menu … если я понимаю вас, и я все еще не уверен, что это так.