wp_nav_menu()函数
wp_nav_menu() 函数是WordPress 3.0 以后添加的一个自定义导航菜单调用函数,可用来调用 register_nav_menus() 函数 注册的菜单。
语法结构
<php wp_nav_menu(array $args = array()) ?> //实现前端调用WordPress后台添加的菜单
参数
$args所调用菜单名称及HTML结构等
<?php has_nav_menu(‘$location’) ?>
//判断是否有此菜单,其主要用途是通过该方法,实现后台的生成菜单调用。
默认版
<?php wp_nav_menu(); ?>
通过默认版设置导航菜单,则后台添加的菜单会自动生成顶部菜单,通过此方法生成的菜单的结构如下:
<div class=”menu-menu-container”>
<ul id=”menu-menu” class=”menu”>
<li id=”menu-item-49″ class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-49″>
<a href=”link”>菜单名称</a>
</li>
<li id=”menu-item-50″ class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-49″>
<a href=”link”>菜单名称</a>
</li>
</ul>
</div>
简单版
获取的菜单名称为nav,只列出一级菜单,样式名为navcontainer
<?php wp_nav_menu(array(
‘menu’ => ‘header_menu’,
‘depth’ => 1,
‘menu_class’=>’navcontainer’
)
); ?>
完整版参数
<?php wp_nav_menu( array(
‘theme_location’ => ”,
‘menu’ => ”,
‘container’ => ‘div’,
‘container_class’ => ”,
‘container_id’ => ”,
‘menu_class’ => ‘menu’,
‘menu_id’ => ”,
‘echo’ => true,
‘fallback_cb’ => ‘wp_page_menu’,
‘before’ => ”,
‘after’ => ”,
‘link_before’ => ”,
‘link_after’ => ”,
‘items_wrap’ => ‘<ul id=”%1$s” class=”%2$s”>%3$s</ul>’,
‘depth’ => 0,
‘walker’ => ”
)
);?>

根据是否登录生成不同该菜单栏
<?php
if (is_user_logged_in()) {
wp_nav_menu(array( ‘theme_location’ => ‘logged-in-menu’));
} else {
wp_nav_menu(array(‘theme_location’ => ‘logged-out-menu’));
} ?>
