J'ai pu utiliser <?php wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => false ) ); ?>
pour créer le menu dans mon thème. J'ai déconné avec 'items_wrap' mais je ne pouvais pas le faire afficher correctement.
J'ai besoin d'ajouter une image et un conteneur div dans le sous-menu ul avant les liens. C'est la structure que je veux:
<ul id="nav">
<li><a href="#">Page</a>
<ul>
<img src="<?php bloginfo('template_directory'); ?>/images/nav_ul_tab.png" class="nav_ul_tab" />
<div class="nav_spacer">
<li><a href="#">Sub Page</a></li>
<li><a href="#">Sub Page</a></li>
<li><a href="#">Sub Page</a></li>
</div>
</ul>
</li>
</ul>
Ce que vous voulez, c'est un balisage invalide. Les seuls enfants qu'une ul
puisse avoir sont li
. Utilisez CSS à la place:
#nav ul
{
padding-top: 40px; /* Your image size. */
background: url(/path/to/your/image/img.png) top center no-repeat transparent;
}
Nous pouvons insérer l'image via Jquery. Voici le code. Avant d’exécuter ce code, assurez-vous que JQuery JavaScript doit être chargé dans votre page.
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#nav li ul .nav_spacer").before('<img src="<?php bloginfo('template_directory'); ?>/images/nav_ul_tab.png" class="nav_ul_tab" />')
});
</script>