Alle, ich verwende den folgenden Code, um alle definierten WordPress-Menüs zu erhalten, die erstellt werden:
$menus = wp_get_nav_menus();
Ich kenne die ID des Menüs, das ich verwenden möchte. Basierend auf der Menü-ID möchte ich die Seiten erhalten, die sich in diesem Menü befinden, und das entsprechende Navigationslabel basierend auf einer ausgewählten Menü-ID. Wie kann ich das anstellen?
In diesem Beispiel sind die $options[‘menu_choice’] ist die ausgewählte Menü-ID, aber was ich wirklich möchte, ist, den Permalink-Wert anzugeben. Kann ich das davon bekommen?
überprüfen Sie diese Antwort stackoverflow.com/a/37959604/1153703
– Bikesh M
22. Juni 2016 um 5:54 Uhr
Das ist genau das, was Sie wollen.
$menu_name="menu-id"; //e.g. primary-menu; $options['menu_choice'] in your case
if (($locations = get_nav_menu_locations()) && isset($locations[$menu_name])) {
$menu = wp_get_nav_menu_object($locations[$menu_name]);
$menu_items = wp_get_nav_menu_items($menu->term_id);
}
Jetzt ist $menu_items ein Objekt, das alle Daten für alle Menüpunkte enthält. So können Sie die erforderlichen Daten mit abrufen foreach Schleife.
foreach ($menu_items as $menu_item) {
$id = $menu_item->ID;
$title = $menu_item->title;
$url = $menu_item->url;
if ($parent_id = $menu_item->menu_item_parent) {
//the element has a parent with id $parent_id, so you can build a hierarchically menu tree
}
else {
//the element doesn't have a parent
}
}
Sie möchten ein bestimmtes Menü anzeigen? Warum nicht eine einfachere Funktion verwenden, wp_nav_menu, und übergeben Sie ein Argument Ihrer gewünschten Menü-ID? Ersetzen Sie im nächsten Beispiel einfach Ihre menu_id durch $menu_ID:
Andernfalls ist die ID der benutzerdefinierte Beitrag vom Typ nav_menu, den WordPress für die Menüs verwendet. Dasselbe gilt für die $url, Sie können sie mit get_permalink($id) aufrufen;
<pre>
$menu_ID = '195'; // 195 is a menu id this id you can see
http://example.com/wp-admin/nav-menus.php?action=edit&menu=195
$menu_args = array('menu' => $menu_ID );
wp_nav_menu( $menu_args );
</pre>
13831500cookie-checkHolen Sie sich Menüwerte von WordPressyes
Wussten Sie, dass es eine StackExchange-Site speziell für WordPress gibt? wordpress.stackexchange.com
– julien_c
15. März 2012 um 10:17 Uhr
überprüfen Sie diese Antwort stackoverflow.com/a/37959604/1153703
– Bikesh M
22. Juni 2016 um 5:54 Uhr