Menu fallback “menu_class” Rendering eines “div” statt einer “ul”

Ich arbeite an einem Fallback-Menü für ein WordPress-Thema, an dem ich gerade arbeite. Die menu_class des menu_class macht eine ul , was ich will.

Wenn ich jedoch das Menü fallback menu_class rendert die menu_class stattdessen ein div . Gibt es eine Möglichkeit, um Word eine ul für das Fallback-Menü anstelle eines div ?

Hier ist mein Code:

  function clarity_main_nav_fallback() { wp_nav_menu(array( 'show_home' => true, 'container' => false, // remove nav container 'container_class' => 'menu clearfix', // class of container (should you choose to use it) 'menu_class' => 'nav navbar-nav' // adding custom nav class )); } 

Solutions Collecting From Web of "Menu fallback “menu_class” Rendering eines “div” statt einer “ul”"

Erstens, ich denke, du verwechselst die wp_nav_menu() Argumente. Der Parameter 'menu_class' definiert die class, die dem 'menu_class' hinzugefügt wird, das 'menu_class' Parameter 'menu_class' standardmäßig

    ist. Die voreingestellte 'menu_class' ist 'menu' , was zu

    .

    Das eigentliche Problem ist eigentlich die fallback_cb – der Callback, der verwendet wird, wenn kein Menü definiert ist – standardmäßig wp_page_menu() .

    Nun geben sowohl wp_nav_menu() als auch wp_page_menu() eine ungeordnete Liste (

      ) aus, die standardmäßig von einem Container (

      ) umschlossen wird. In Ihrem Aufruf von wp_nav_menu() haben Sie: 'container' => false , wodurch die wp_nav_menu() überschrieben wird, die von einem Container

      . Dieser Parameter wird jedoch nicht an die Standard-Callback-Ausgabe von wp_page_menu() .

      Die einfachste Lösung wäre , einen eigenen callback zu definieren :

       wp_nav_menu( array( // Add your normal args here 'fallback_cb' => 'wpse116656_nav_menu_cb' ) ); 

      Dann deklariere deine Callback-function:

       function wpse116656_nav_menu_cb() { wp_page_menu( array( // Args here ) ); } 

      Nun, hier ist der Vorbehalt:

      • wp_nav_menu() wendet den Parameter 'menu_class' auf die ungeordnete Liste an

        (

          )

        • wp_page_menu() wendet den Parameter 'menu_class' auf den Wrapper-Container außerhalb der 'menu_class' an

          (

            )

          Sie müssen das mit Ihrem CSS berücksichtigen.

          Sie haben ein Problem mit der Menüposition

          Gehe zu

          Dashboard >> Aussehen >> Menüs >> “Öffnen Sie Ihren Menünamen”

            => Find at " Display Location " in " Menu Setting" => check " primary menu " [ if you have uncheck] 

          Bildbeschreibung hier eingeben