Je convertis ce menu html en wordpress:
<ul>
<li><a href="/" class="current"><span>Home</span></a></li>
<li><a href="/"><span>About</span></a></li>
</ul>
j'utilise:
wp_nav_menu(array(
'menu'=>'mainmenu' ,
'container' => false,
'link_before' => '<span>',
'link_after' => '</span>',
'theme_location' => 'primary')
);
mais le HTML que j'obtiens est:
<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>
Si j'utilise un menu personnalisé, j'obtiens:
<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>
mais si je n'utilise pas de menu personnalisé 'container' => false ne fonctionne pas Une solution?
Réponses:
[RESOLU] IL NE FONCTIONNE PAS lorsque vous faites référence à un emplacement inexistant. par exemple lorsque vous avez copié le code ailleurs ou que vous n'avez pas encore créé votre menu ou votre emplacement dans le tableau de bord.
par exemple, supprimez ", 'theme_location' => 'primary'" du code suivant:
donc ça ne devrait pas ressembler
Cela fonctionne très bien SANS conteneur dans mon site Web SocialBlogsiteWebDesign.com
la source
appearance->menu
puis appelez lewp_nav_menu(array('menu'=>'<menu_name>','container'=>false))
http://codex.wordpress.org/Function_Reference/wp_nav_menu
la source
if ( $args->container )
dans le code de manièrefalse
ouempty string
ne fait pas de différence.vous faites référence à la fonction de repli des menus nav_m. Il s'agit de "wp_page_menu" et, malheureusement, cela ne produit pas le même type de balisage qu'un menu personnalisé.
Pour résoudre ce problème, créez votre propre menu de secours. J'utilise ceci:
Vous devrez peut-être changer cela car mon thème gère les menus à sa manière, mais je pense que vous avez l'idée de base.
Et quand tu appelles
wp_nav_menu
fais commewp_nav_menu(array('fallback_cb' => 'my_page_menu'));
Vous pouvez également faire correspondre les classes à celles d'un menu personnalisé en utilisant ceci:
De cette façon, vous supprimez quelques règles CSS ...
la source
J'ai développé une solution simple et efficace en utilisant
str_replace
, qui peut être appliquée séparément pour une utilisation dans les tableaux de menus plutôt queul li
:la source
J'ai trouvé la solution.
Utilisez simplement "ul" pour 'container'
la source
Essaye ça
la source