2016-10-14 14 views
0

私は現在のメニューIDを取得しようとしています。私はpageidが使用されている多くのソリューションを見ていますが、同じページに複数のメニューアイテムがリンクしている場合は動作しません。私が見る限り、wp_queryは私にメニューIDではなくページIDを与えます。Wordpressの現在のメニューID

誰かが何をすべきか考えていますか?

+0

add_filter( 'wp_nav_menu_objects'、 'wpse_wp_nav_menu_objects'); 関数wpse_nav_menu_objects($ sorted_menu_items) {foreachの($ $ MENU_ITEMとしてsorted_menu_items){ IF($ menu_item->電流){ エコー$ menu_item->表題。 休憩。 } } return $ sorted_menu_items; } –

+0

これは特定のページにリンクする最初の項目で停止します.2つのメニュー項目が同じページにリンクしている場合はどうなりますか? – Cyberish

答えて

0

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']を使用することができ、wp_nav_menu_objectsにフィルタを追加します。

+0

最初に、あなたは$ sorted_menu_itemsの代わりに$ menu_itemsを返すと思いませんか? – Cyberish

関連する問題