Menüpunkte wie get_pages bekommen

Ich brauche eine Möglichkeit, eine benutzerdefinierte HTML-Vorlage für die function wp_nav_menu zu erstellen. Ich habe von Custom-Walker-Kursen gehört, aber diese scheinen nicht hilfreich genug zu sein, um das zu erreichen, was ich versuche. zumindest soweit ich weiß wegen der fehlenden Dokumentation von Walkerfunktionen. Was ich tun muss, ist eine fähige class zu allen Menüpunkten der obersten Ebene hinzuzufügen. Ich brauche nur das Menü, um auf zwei Ebenen zu gehen; oberste Ebene, dann untergeordnete Menüelemente. Ich muss eine Top-Level-class zu allen Menüelement-Ankerelementen hinzufügen, die ein Untermenü haben. Ich brauche alle Untermenülisten, um die class ‘Sub-Nav’ zu haben. Und ich muss alle letzten Einträge in der Untermenüliste (li) haben, um eine class “last” zu haben.

Hier ist der Code, den ich gerade habe, der mein Menü genau so generiert, wie ich es mit der function get_pages erzeugen möchte:

 0, 'sort_order' => 'ASC', 'sort_column' => 'menu_order' )); $num_pages = count($pages); $p = 0; $exclude = '"pastor.php","service.php","gallery.php","audio.php","video.php"'; $exclude_list = $wpdb->get_results("SELECT GROUP_CONCAT(t1.ID) AS IDS FROM " . $wpdb->posts . " AS t1 INNER JOIN " . $wpdb->postmeta . " AS t2 ON (t1.ID = t2.post_id) WHERE t1.post_type = 'page' AND (t1.post_status = 'publish' OR t1.post_status = 'private') AND t2.meta_key = '_wp_page_template' AND t2.meta_value IN (" . $exclude . ") ORDER BY t1.post_date DESC"); foreach($pages as &$page) : $children = get_pages(array( 'sort_order' => 'ASC', 'sort_column' => 'menu_order', 'hierarchical' => 0, 'childof' => $page->ID, 'parent' => $page->ID, 'exclude' => $exclude_list[0]->IDS )); $num_children = count($children); $has_children = $num_children > 0; ?> <li class="nav-itempost_name === $root_parent->post_name ? ' active' : '')?>"> <a href="https://wordpress.stackexchange.com/questions/61764/getting-menu-items-like-get-pages/ID)?>" class="top-level">post_title?>      

Gibt es eine Möglichkeit, Menüelemente in einem mehrdimensionalen Array in Reihenfolge zu ziehen, so dass ich sie einfach durchlaufen und das obige Template manuell erzeugen kann, anstatt all dies wp_nav_menu und walker none-sense?

Solutions Collecting From Web of "Menüpunkte wie get_pages bekommen"

Ja da ist. Verwenden wp_get_nav_menu_items() stattdessen wp_get_nav_menu_items() .

 < ?php $items = wp_get_nav_menu_items( $menu, $args ); ?> < ?php $args = array( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item', 'post_status' => 'publish', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'nopaging' => true, 'update_post_term_cache' => false ); ?> 

Hier ist die Seite auf WordPress Codex