Reputation: 330
I am using Bootstrap 4 and my menu structure like this:
<ul class="navbar-nav mx-auto justify-content-center">
<li class="nav-item">
<a class="nav-link" href="index.php">HOME</a>
</li>
<li class="nav-item">
<a class="nav-link" href="faq.php">FAQ</a>
</li>
<li class="nav-item">
<a class="nav-link" href="rules-and-regulations.php">RULES AND REGULATIONS</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="javascript:void(0)">REGISTRATION</a>
</li>
</ul>
Here is my function.php
file's code:
function menu_classes($classes, $item, $args) {
if($args->theme_location == 'primary') {
$classes[] = 'nav-item';
}
return $classes;
}
add_filter('nav_menu_css_class','menu_classes',1,3);
I can easily add nav-item
class in li
tag but I also want to add nav-link
class into the anchor tag.
I am calling WP Nav in header.php
file like this:
<?php
wp_nav_menu( array(
'theme_location' => 'primary',
'depth' => 2,
'container' => false,
'menu_class' => 'navbar-nav mx-auto justify-content-center',
'direct_parent' => true,
'sub_menu' => true,
'show_parent' => true
));
?>
Upvotes: 0
Views: 711
Reputation: 868
Add this function on your function.php file
function my_walker_nav_menu_start_el($item_output, $item, $depth, $args) {
// $classes = implode(' ', $item->classes);
$classes = 'my-class';
$item_output = preg_replace('/<a /', '<a class="'.$classes.'"', $item_output, 1);
return $item_output;
}
add_filter('walker_nav_menu_start_el', 'my_walker_nav_menu_start_el', 10, 4);
Upvotes: 1