Ich konvertiere dieses HTML-Menü in WordPress:
<ul>
<li><a href="/" class="current"><span>Home</span></a></li>
<li><a href="/"><span>About</span></a></li>
</ul>
ich benutze:
wp_nav_menu(array(
'menu'=>'mainmenu' ,
'container' => false,
'link_before' => '<span>',
'link_after' => '</span>',
'theme_location' => 'primary')
);
aber das HTML, das ich bekomme, ist:
<div class="menu">
<ul>
<li class="current_page_item"><a href="http://localhost/goodsoil/" title="Home"><span>Home</span></a></li>
<li class="page_item page-item-2"><a href="http://localhost/goodsoil/?page_id=2" title="About"><span>About</span></a></li>
</ul>
</div>
Wenn ich ein benutzerdefiniertes Menü verwende, erhalte ich:
<ul id="menu-test" class="menu">
<li id="menu-item-6" class="menu-item menu-item-type-custom current-menu-item current_page_item menu-item-home menu-item-6"><a href="url/"><span>Home</span></a></li>
<li id="menu-item-5" class="menu-item menu-item-type-post_type menu-item-5"><a href="url/?page_id=2"><span>About</span></a></li>
</ul>
aber wenn ich kein benutzerdefiniertes Menü benutze 'container' => false funktioniert nicht Jede Lösung?
Antworten:
[Gelöst] Es funktioniert nicht, wenn Sie sich auf einen nicht vorhandenen Ort beziehen. Beispiel: Wenn Sie den Code von einem anderen Ort kopiert haben oder Ihr Menü oder Ihren Speicherort noch nicht im Dasboard erstellt haben.
Entfernen Sie beispielsweise ", 'theme_location' => 'primary'" aus dem folgenden Code:
so sollte es aussehen
Es funktioniert gut OHNE Container auf meiner Website SocialBlogsiteWebDesign.com
quelle
appearance->menu
zuerst und rufen Sie dann daswp_nav_menu(array('menu'=>'<menu_name>','container'=>false))
http://codex.wordpress.org/Function_Reference/wp_nav_menu
quelle
if ( $args->container )
im Code überprüftfalse
oderempty string
macht keinen Unterschied.Sie beziehen sich auf die Fallback-Funktion der nav_menus. Dies ist "wp_page_menu" und leider erzeugt es nicht die gleiche Art von Markup wie ein benutzerdefiniertes Menü.
Um dies zu beheben, erstellen Sie Ihr eigenes Fallback-Menü. Ich benutze dies:
Möglicherweise müssen Sie dies ändern, da mein Thema Menüs auf seine eigene Weise behandelt, aber ich denke, Sie haben die Grundidee.
Und wenn Sie anrufen,
wp_nav_menu
machen Sie es wiewp_nav_menu(array('fallback_cb' => 'my_page_menu'));
Sie können die Klassen auch mit denen eines benutzerdefinierten Menüs abgleichen, indem Sie Folgendes verwenden:
Auf diese Weise reduzieren Sie einige CSS-Regeln ...
quelle
Ich habe eine einfache und effiziente Lösung entwickelt
str_replace
, die separat angewendet werden kann, um sie in Menütabellen zu verwenden, anstattul li
:quelle
Die Lösung gefunden.
Verwenden Sie einfach "ul" für "Container"
quelle
Versuche dies
quelle