Menüoptionen in WordPress ausblenden

Ich möchte Menüelemente abhängig von der URL in WordPress mit PHP entfernen. Der folgende Code wurde in die untergeordneten Themen functions.php eingefügt.

add_filter( 'wp_get_nav_menu_items','nav_items', 65535, 3 ); function nav_items( $items, $menu, $args ) { if( is_admin() ) return $items; //Select what not to be shown //$item->title = "" is assigned for these menu items //if anything is to be removed $bremove == 1 if ( $bremove == 1 ) { $bloop = 1; while ( $bloop == 1 ) { $bloop = 0; $items = array_values ( $items ); foreach ( $items as $key => $item ) { if ( $item->title == "" ) { unset ( $items [ $key ] ); $bloop = 1; break; } } } } return $items; } 

Der Code funktioniert, indem zuerst die unerwünschten Titel auf nichts gesetzt werden und sie dann mit unset gelöscht werden. Ich habe viele Arten der Unschärfe versucht, aber keine funktioniert. Oben ist ein Versuch mit array_values ​​und Neustart der Schleife, wenn etwas entfernt wird.

Was immer ich mache, einige gesuchte Menüpunkte verschwinden. Wenn Sie die Titel auf nichts einstellen, funktioniert das einwandfrei, aber dann wird nur ein Leerzeichen angezeigt.

Ich habe bemerkt, dass gerade das Unscharfschalten das Array nicht neu indiziert. Sidebar Menüs funktionieren gut, aber nicht das Hauptmenü.

Wie sollte das Löschen von Menüpunkten erfolgen?

Solutions Collecting From Web of "Menüoptionen in WordPress ausblenden"