2016-10-14 6 views
0

Ich versuche, die aktuelle Menü-ID zu erhalten. Ich sehe viele Lösungen, wo Peiteid verwendet wird, aber dies funktioniert nicht, wenn mehr als 1 Menüelement auf dieselbe Seite verlinken. Soweit ich das sehen kann, gibt mir §wp_query Seite-ID, nicht Menü-ID.Wordpress aktuelle Menü-ID

Hat jemand eine Idee, was zu tun ist?

+0

add_filter ('wp_nav_menu_objects', 'wpse_wp_nav_menu_objects'); Funktion wpse_nav_menu_objects ($ sorted_menu_items) { foreach ($ sorted_menu_items wie $ menu_item) { if ($ menu_item-> Strom) {echo menu_item- $> title; Pause; } } Rückgabe $ sorted_menu_items; } –

+0

Dies stoppt beim ersten Element, das auf eine bestimmte Seite verweist, was ist, wenn zwei Menüelemente auf dieselbe Seite verlinken? – Cyberish

Antwort

0

einen Filter auf wp_nav_menu_objects hinzufügen,

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; 
} 

Jetzt können Sie diese globale Variable verwenden können $GLOBALS['mwilson123_id'] wo immer Sie brauchen.

+0

Erstens, willst du $ menu_items anstelle von $ sorted_menu_items zurückgeben? – Cyberish

Verwandte Themen