WordPress Anleitung: wp_get_nav_menus — so kannst du alle WordPress Menüs mit PHP abfragen

Marc Wag­ner

April 17, 2023

2 min read|

Word­Press ver­fügt über eine inte­grier­te Funk­ti­on namens wp_get_nav_menus(), mit der du alle Word­Press Menüs mit PHP abfra­gen kannst. Die Funk­ti­on gibt dir ein Array aller regis­trier­ten Menüs zurück. Wir kön­nen die­se Funk­ti­on in unse­rem PHP-Code ver­wen­den, um alle Menüs abzu­ru­fen und sie dann wei­ter­zu­ver­ar­bei­ten.

Code Beispiel #

Um alle Menüs in Word­Press mit PHP abzu­ru­fen, kön­nen wir den fol­gen­den Code ver­wen­den:

$menus = wp_get_nav_menus();

foreach ( $menus as $menu /** @var WP_Term $menu */ ) {
    echo '<h2>' . $menu->name . '</h2>';
    $menu_items = wp_get_nav_menu_items( $menu->term_id );
    if ( ! empty( $menu_items ) ) {
        echo '<ul>';
        foreach ( $menu_items as $menu_item ) {
            echo '<li><a href="' . $menu_item->url . '">' . $menu_item->title . '</a></li>';
        }
        echo '</ul>';
    }
}

Die­ser Code ruft alle Menüs auf und lis­tet die ver­knüpf­ten Menü­ele­men­te auf. Der Code ver­wen­det eine foreach-Schlei­fe, um durch jedes Menü im wp_get_nav_menus() Array zu ite­rie­ren. Inner­halb die­ser Schlei­fe wird dann für jedes Menü eine Über­schrift (<h2>) aus­ge­ge­ben und alle ver­knüpf­ten Menü­ele­men­te wer­den auf­ge­lis­tet.

Die wp_get_nav_menu_items() Funk­ti­on wird ver­wen­det, um die Menü­ele­men­te für jedes Menü abzu­ru­fen. Die­se Funk­ti­on erfor­dert das term_id-Attri­but des Menüs als Para­me­ter, um die Menü­ele­men­te abzu­ru­fen. Der Code ver­wen­det dann eine wei­te­re foreach-Schlei­fe, um durch alle Menü­ele­men­te zu ite­rie­ren und sie auf­zu­lis­ten.

Fazit #

Dank der inte­grier­ten Funk­tio­nen wp_get_nav_menus() und wp_get_nav_menu_items() in Word­Press ist es sehr ein­fach, alle Menüs in Word­Press mit PHP abzu­ru­fen. Mit den bei­den Funk­tio­nen kön­nen wir schnell und ein­fach eine Lis­te aller Menüs auf der Web­site erstel­len. Dies ermög­licht es euch, eure Menüs indi­vi­du­ell anzu­pas­sen und für eure Besu­cher zu opti­mie­ren.

88e86fcb816eff22bc917094df2862d8dd5c0e978b333e6dd5f36f808990c261 96

Arti­kel von:

Marc Wag­ner

Hal­lo, Marc hier. Ich bin der Grün­der von Forge12 Inter­ac­ti­ve und bereits seit über 20 Jah­ren lei­den­schaft­lich dabei Web­sei­ten, Online­shops, Anwen­dun­gen und SaaS-Lösun­gen für Unter­neh­men zu ent­wi­ckeln. Vor der Grün­dung habe ich bereits in Bör­sen notier­ten Unter­neh­men gear­bei­tet und mir aller­lei Wis­sen ange­eig­net. Die­ses Wis­sen möch­te ich nun an mei­ne Kun­den wei­ter­ge­ben.

Hast du eine Fra­ge? Hin­ter­lass bit­te einen Kom­men­tar