Wordpress 多级下拉菜单
Wordpress multi level dropdown menu
我为我的网站创建了一个自定义主题。在这里我想创建一个多级下拉菜单,我使用仪表板完成了,但是只出现了下拉菜单。
这是你写菜单的方式应该用代码写:
<div id="top-menu">
<ul>
<?php wp_nav_menu(array('theme_location'=>'top-menu','container'=>'', 'items_wrap' => '%3$s')); ?>
</ul>
</div>
上面的代码将被翻译成类似这样的东西:
<div id="top-menu">
<ul>
<li><a href="#somelink">Some Text</a></li>
<li><a href="#somelink">Some Text</a></li>
<li>
<a href="#somelink">Some Text</a>
<ul>
<li><a href="#secondLevel">Second Level Text</a></li>
<li><a href="#secondLevel">Second Level Text</a></li>
<li>
<a href="#secondLevel">Second Level Text</a>
<ul>
<li><a href="#thirdLevel">Third Level Text</a></li>
<li><a href="#thirdLevel">Third Level Text</a></li>
<li><a href="#thirdLevel">Third Level Text</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
如果以下代码尚未添加到您的 functions.php 中,则需要添加以下代码:
add_theme_support( 'menus' );
if ( function_exists( 'register_nav_menus' ) ) {
register_nav_menus(
array(
'top-menu' => 'Top Menu'
)
);
}
那么您的 css 文件应包含以下内容:
#top-menu {
background:#F4F4F4;
height:50px;
width:100%;
}
#top-menu ul {
}
#top-menu ul li {
display:inline-block;
float:left;
position:relative;
}
#top-menu ul li a {
color:#929292;
display:inline-block;
height:50px;
text-align:center;
text-decoration:none;
font-weight:bold;
width:130px;
line-height:50px;
border-right:#E4E4E4 1px solid;
}
#top-menu ul li ul li a {
width:200px;
}
#top-menu ul li.current-menu-item > a, #top-menu ul li:hover > a {
color:#000;
}
/*===>multi level menu */
#top-menu li ul {
display:none;
position:absolute;
left:0;
border:1px solid #ccc;
z-index:300;
width:200px;
background:#f0f0f0;
}
#top-menu li:hover > ul {
display:block;
}
#top-menu li ul ul {
left:140px;
top:10px;
}
#top-menu li li a {
border:0;
border-bottom:1px solid #ccc;
width:150px;
}
当然你需要做出自己的改变。
STEP - 1: Register your menu in **function.php** Which wants to add your show.
function register_my_menu() {
register_nav_menu('header_menu',__( 'Header Menu' ));
}
add_action( 'init', 'register_my_menu' );
STEP - 2:
Download wp_nav_walker from this url: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
STEP - 3:
wp_nav_menu(
array(
'theme_location' => 'header_menu',
'menu_class' => 'navbar-nav ml-auto',
'container' => 'div',
'container_class' => 'collapse navbar-collapse',
'container_id' => 'navbarNav',
'depth' => '3',
'fallback_cb' => 'WP_Bootstrap_Navwalker::fallback',
'walker' => new WP_Bootstrap_Navwalker(),
)
);
STEP - 4: add this css code in style.css file
ul.dropdown-menu li > ul.dropdown-menu{
left: 100%;
top: 0;
}
ul.dropdown-menu li:hover > ul.dropdown-menu, ul.dropdown-menu li:focus > ul.dropdown-menu{
display: block
}
我为我的网站创建了一个自定义主题。在这里我想创建一个多级下拉菜单,我使用仪表板完成了,但是只出现了下拉菜单。
这是你写菜单的方式应该用代码写:
<div id="top-menu">
<ul>
<?php wp_nav_menu(array('theme_location'=>'top-menu','container'=>'', 'items_wrap' => '%3$s')); ?>
</ul>
</div>
上面的代码将被翻译成类似这样的东西:
<div id="top-menu">
<ul>
<li><a href="#somelink">Some Text</a></li>
<li><a href="#somelink">Some Text</a></li>
<li>
<a href="#somelink">Some Text</a>
<ul>
<li><a href="#secondLevel">Second Level Text</a></li>
<li><a href="#secondLevel">Second Level Text</a></li>
<li>
<a href="#secondLevel">Second Level Text</a>
<ul>
<li><a href="#thirdLevel">Third Level Text</a></li>
<li><a href="#thirdLevel">Third Level Text</a></li>
<li><a href="#thirdLevel">Third Level Text</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
如果以下代码尚未添加到您的 functions.php 中,则需要添加以下代码:
add_theme_support( 'menus' );
if ( function_exists( 'register_nav_menus' ) ) {
register_nav_menus(
array(
'top-menu' => 'Top Menu'
)
);
}
那么您的 css 文件应包含以下内容:
#top-menu {
background:#F4F4F4;
height:50px;
width:100%;
}
#top-menu ul {
}
#top-menu ul li {
display:inline-block;
float:left;
position:relative;
}
#top-menu ul li a {
color:#929292;
display:inline-block;
height:50px;
text-align:center;
text-decoration:none;
font-weight:bold;
width:130px;
line-height:50px;
border-right:#E4E4E4 1px solid;
}
#top-menu ul li ul li a {
width:200px;
}
#top-menu ul li.current-menu-item > a, #top-menu ul li:hover > a {
color:#000;
}
/*===>multi level menu */
#top-menu li ul {
display:none;
position:absolute;
left:0;
border:1px solid #ccc;
z-index:300;
width:200px;
background:#f0f0f0;
}
#top-menu li:hover > ul {
display:block;
}
#top-menu li ul ul {
left:140px;
top:10px;
}
#top-menu li li a {
border:0;
border-bottom:1px solid #ccc;
width:150px;
}
当然你需要做出自己的改变。
STEP - 1: Register your menu in **function.php** Which wants to add your show.
function register_my_menu() {
register_nav_menu('header_menu',__( 'Header Menu' ));
}
add_action( 'init', 'register_my_menu' );
STEP - 2:
Download wp_nav_walker from this url: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
STEP - 3:
wp_nav_menu(
array(
'theme_location' => 'header_menu',
'menu_class' => 'navbar-nav ml-auto',
'container' => 'div',
'container_class' => 'collapse navbar-collapse',
'container_id' => 'navbarNav',
'depth' => '3',
'fallback_cb' => 'WP_Bootstrap_Navwalker::fallback',
'walker' => new WP_Bootstrap_Navwalker(),
)
);
STEP - 4: add this css code in style.css file
ul.dropdown-menu li > ul.dropdown-menu{
left: 100%;
top: 0;
}
ul.dropdown-menu li:hover > ul.dropdown-menu, ul.dropdown-menu li:focus > ul.dropdown-menu{
display: block
}