2016-10-14 64 views
0

我想獲取當前的菜單ID。我看到很多使用pageid的解決方案,但當鏈接到同一頁面的菜單項超過1個時,這不起作用。據我可以看到§wp_query給我的page-id,而不是menu-id。WordPress的當前菜單ID

有沒有人有想法該怎麼辦?

+0

add_filter('wp_nav_menu_objects','wpse_wp_nav_menu_objects'); 功能wpse_nav_menu_objects($ sorted_menu_items) { 的foreach($ sorted_menu_items爲$ MENU_ITEM){ 如果($ menu_item->電流){ 回聲$ menu_item->標題; 休息; } } return $ sorted_menu_items; } –

+0

這阻止了第一個鏈接到特定頁面的項目,如果2個菜單項鍊接到同一頁面,該怎麼辦? – Cyberish

回答

0

添加過濾器wp_nav_menu_objects,

add_filter('wp_nav_menu_objects', 'mwilson123_wp_nav_menu_objects'); 
function mwilson123_wp_nav_menu_objects($menu_items) 
{ 
    foreach ($menu_items as $menu_item) { 
     if ($menu_item->current) { 
      $GLOBALS['mwilson123_id'] = $menu_item->ID; 
      break; 
     } 
    } 
    return $sorted_menu_items; 
} 

現在你可以使用這個全局變量$GLOBALS['mwilson123_id']以往任何時候都需要在那裏。

+0

首先,您是否想要返回$ menu_items而不是$ sorted_menu_items? – Cyberish