2016-10-14 65 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