OK j'essaye de montrer mon menu principal alors j'utilise le code suivant:
<?php $defaults = array(
'theme_location' => '',
'menu' => '',
'container' => false,
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="unstyled pull-right %2$s">%3$s</ul>',
'depth' => 0,
'walker' => new description_walker()
); ?>
<?php wp_nav_menu( $defaults ); ?>
Le menu est rempli avec les noms de catégorie (pas de pages) et il affiche les éléments suivants:
<ul id="menu-principal" class="unstyled pull-right menu">
<li id="menu-item-597" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-597"><a href="#">menu</a></li>
<li id="menu-item-595" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-595"><a href="#">menu</a></li>
<li id="menu-item-596" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-596"><a href="#">menu</a></li>
<li id="menu-item-593" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-593"><a href="#">menu</a></li>
<li id="menu-item-594" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-594"><a href="#">menu</a></li>
<li id="menu-item-592" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-592"><a href="#">menu</a></li>
<li id="menu-item-591" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-591"><a href="#">menu</a></li>
<li id="menu-item-592" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-592"><a href="#">menu</a></li>
<li id="menu-item-591" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-591"><a href="#">menu</a></li>
</ul>
Je voudrais remplacer toutes ces classes li par le nom de la catégorie afin d'essayer d'utiliser une classe de randonneur dans functions.php: https://Gist.github.com/1053467
Donc, j'ai un minimum de choses mais je ne sais pas comment ajouter les classes. class = "category-categoryname" (c'est-à-dire class = "category-photography").
Merci beaucoup pour votre temps et votre aide.
votre classe de marcheur est presque parfaite pour ce dont vous avez besoin @Gab.
au lieu de la ligne 21:
$output .= '<li>';
déplacez-le juste avant la ligne 38
$output .= apply_filters(
'walker_nav_menu_start_el' [...]
et changez-le en quelque chose comme
$output .= $indent . '<li id="nav-menu-item-'. $item->ID . '" class="'. $title . '">';
et vous devriez avoir le nom de la catégorie comme première classe de votre li
Vous voyez, comme vous avez construit le titre Nice title $ title, vous pouvez l'utiliser pour créer la balise li, puis créez la balise comme auparavant.
modifier:
$mycatid = $item->object_id;
$category = get_category($mycatid );
$mycatslug = $category->slug;
$output .= $indent . '<li id="nav-menu-item-'. $item->ID . '" class="'. $mycatslug . '">';