📅  最后修改于: 2023-12-03 14:48:32.523000             🧑  作者: Mango
在WordPress主题中,我们可以通过添加自定义类来修改导航菜单的样式。这将使得主题更加个性化,符合用户的需要。下面,我们将介绍几种在导航菜单上添加类的方法。
Walker类提供了一种遍历和显示导航菜单的方式。我们可以通过继承Walker类并重载其中的方法来自定义导航菜单的输出。具体步骤如下:
Walker_Nav_Menu
类,并重载其中的方法来覆盖其默认的行为。CSS
类来改变其样式。例如:在start_lvl()
方法中,我们可以添加'sub-menu ' . $depth_class
作为子菜单的类。class Custom_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat( "\t", $depth );
$submenu = ($depth > 0) ? ' sub-menu' : '';
$output .= "\n$indent<ul class=\"dropdown-menu$submenu depth_" . $depth . " {$args->menu_class}-menu\">\n";
//$output .= "\n$indent<ul class=\"sub-menu {$args->menu_class}-menu{$depth_class}\">\n";
}
}
wp_nav_menu()
函数时,可以通过'walker' => new Custom_Walker_Nav_Menu()
来注册使用我们自定义的类。wp_nav_menu( array(
'theme_location' => 'primary',
'menu_class' => 'nav navbar-nav',
'container' => '',
'container_class' => '',
'container_id' => '',
'fallback_cb' => '',
'menu_id' => 'main-menu',
'walker' => new Custom_Walker_Nav_Menu(), // 注册使用自定义的walker类
) );
style.css
文件中,通过添加相关的样式来对菜单进行自定义。例如:.sub-menu {
display: none;
position: absolute;
left: 0;
top: 100%;
}
li.menu-item-has-children:hover > .sub-menu {
display: block;
}
此方法允许您在WordPress后台中使用“菜单项属性”字段添加菜单项上的CSS类。这是一个最简单的方法,在不需要修改代码的情况下,为菜单项添加一个CSS类。具体步骤如下:
CSS
类。例如:添加带有类名'my-custom-class'
的自定类。<li id="menu-item-9" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-9 my-custom-class">
<a href="#">Custom Link</a>
</li>
style.css
文件中,使用该类对菜单项进行自定义。例如:.my-custom-class a {
color: #ff00ff;
}
现在,您已经成功在WordPress导航菜单上添加自定义类。