现在,如果我点击某个菜单项,我的菜单会变为活动状态,但是当网站刚刚加载时,它没有活动菜单,所以我想让第一个li处于活动状态。
此代码通过添加current-menu-item
来生成活动菜单 add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
function special_nav_class ($classes, $item) {
if (in_array('current-menu-item', $classes) ){
$classes[] = 'active';
}
return $classes;
}
function main_menu() {
add_theme_support('menus');
register_nav_menus(array(
'primary' => __('Primary Main Menu'),
));
register_nav_menus(array(
'secondary' => __('Primary Portfolio Navigation'),
));
}
$args = array(
'container' => '',
'menu_id' => false,
'items-wrap' => '%3$s',
'theme_location' => 'primary'
);
wp_nav_menu($args);
答案 0 :(得分:0)
不需要该过滤器代码,只需执行以下操作:
1-在functions.php中注册一个菜单
add_theme_support( 'menus' );
if ( function_exists( 'register_nav_menus' ) ) {
register_nav_menus(
array(
'top-menu' => 'Top Menu'
)
);
}
2-然后在您的代码中,您只需要输入以下代码:
<ul>
<?php wp_nav_menu(array('theme_location'=>'top-menu','container'=>'', 'items_wrap' => '%3$s')); ?>
</ul>
3-最后转到管理面板,外观 - &gt;菜单,选择Top Menu
并填入您的页面,这应该处理所有active
个html类,没有必要这样做手动