Nav-Menüs Schnelle Vorschau funktioniert nicht mit wp_get_nav_menu_items!

Ich habe ein Problem und ich weiß warum, aber ich kann keine Lösung finden oder wie ich es beheben kann!

Das Problem ist, wenn die Vorschau des Customizers in Menüs verwendet wird, funktioniert die Vorschaubearbeitung nicht und das ist, weil ich nicht die wp_nav_menu function verwendet habe, sondern wp_get_nav_menu_items, weil es anpassbarer ist und ich für jedes Menüelement ein anderes Icon einfügen muss Name, wie Sie im folgenden Code sehen können:

// Get the nav menu based on $menu_name (same as 'theme_location' or 'menu' arg to wp_nav_menu) // This code based on wp_nav_menu's code to get Menu ID from menu slug if ( is_front_page() ) $menu_name = 'home'; else $menu_name = 'primary'; 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); $menu_list = ''; } else { $menu_list = ''; } // $menu_list now ready to output echo $menu_list; 

Also, wenn es eine Lösung in der Mitte hier gibt, wie ich meine Symbole einfügen kann (mit nur Code, da ich Plugins nicht verwenden kann) und den schnellen Preview Customizer aktivieren, werde ich wirklich geschätzt.

Solutions Collecting From Web of "Nav-Menüs Schnelle Vorschau funktioniert nicht mit wp_get_nav_menu_items!"

Sie müssen wp_nav_menu() wenn Sie eine selektive Aktualisierung (schnelle Vorschau) erhalten möchten. Wenn Sie ein benutzerdefiniertes Navigationsmenü verwenden möchten, das eine selektive Aktualisierung verwendet, müssen Sie anstelle von wp_get_nav_menu_items() stattdessen das Walker_Nav_Menu von der Unterklasse Walker_Nav_Menu , um Ihre benutzerdefinierte Logik zu implementieren, und diese dann wie wp_nav_menu() :

 wp_nav_menu( array( 'theme_location' => 'primary', 'walker' => 'My_Custom_Nav_Menu_Walker', ) ); 

Hier ein Beispiel für die Erstellung eines benutzerdefinierten Rollators: https://wordpress.stackexchange.com/a/116719/8521

Beachten Sie, dass Sie die Walker-class als Zeichenfolge und nicht als Objekt übergeben müssen, damit die selektive Aktualisierung verfügbar ist. Siehe vollständige Bedingungen .