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

Hi Marc here. I’m the foun­der of Forge12 Inter­ac­ti­ve and have been pas­sio­na­te about buil­ding web­sites, online stores, appli­ca­ti­ons and SaaS solu­ti­ons for busi­nesses for over 20 years. Befo­re foun­ding the com­pa­ny, I alre­a­dy work­ed in publicly lis­ted com­pa­nies and acqui­red all kinds of know­ledge. Now I want to pass this know­ledge on to my cus­to­mers.

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