Bonjour,
Voila je rencontre un petit problème avec mon code. Voici la structure de mon menu via mon code source et j'aimerai avoir le walker correspondant. Merci pour votre aide.
<nav class="navigation clearfix mobile-menu-wrapper">
<ul id="menu" class="menu">
<li id="menu-item-1" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1"><a class="page- scroll"href="page1.html">Page 1</a></li>
<li id="menu-item-2" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2"><a class="page-scroll"href="page2.html">Page 2</a></li>
</ul>
</nav>
<?php
wp_nav_menu([
'menu_class' => 'nav-menu',
'theme_location' => 'nav',
'container' => false,
'items_wrap' => '%3$s',
'walker' => new MenuWalker()
]);
?>
Dans menuwalker.php
<?php
class MenuWalker extends Walker_Nav_Menu{
public function start_el(&$output, $item, $depth = 0, $args = [], $id = 0)
{
global $wp_query;
$queried_object_id = (int) $wp_query->queried_object_id;
$attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : '';
$attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
$attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
$attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : '';
if($queried_object_id == $item->object_id) {
$attributes .= 'class="active"';
}
$item_output = '<a'. $attributes .'>';
$item_output .= apply_filters( 'the_title', $item->title, $item->ID );
$item_output .= '</a>';
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}
public function end_el(&$output, $item, $depth=0, $args=[])
{
$output .= "";
}
}
Entourez votre code pour bien le mettre en forme
Décrivez ici ce que vous cherchez à obtenir
Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(