WordPress3.0自定义导航条wp nav menu
为了让 WordPress主题支持自定义导航“wp_nav_menu”,首先,在 functions.php 里添加以下代码:
if (function_exists(‘add_theme_support’)) {
//开启导航菜单主题支持
add_theme_support(‘nav-menus’);
//注册一个导航菜单
register_nav_menus( array( ‘primary’ => __( ‘Primary Navigation’, ‘primary’ ) ) );
}
这个代码就好像是给主题sidebar添加widgets支持一样道理。
接下来我们就在主题 header.php 里面适当位置添加导航目录调用标签:
<?php wp_nav_menu($args); ?>
$args用法如下:(WordPress官方wp_nav_menu详细介绍见http://codex.wordpress.org/Function_Reference/wp_nav_menu)
$args = array(
//最外层容器的标签名,默认div
‘container’ => ‘div’,
//最外层容器的class名
‘container_class’ => ‘mainNavBlock’,
//最外层容器的id名
‘container_id’ => ‘menu’,
//导航菜单ul标签的class名
‘menu_class’ => ‘mainNav’,
//导航菜单ul标签的id名
‘menu_id’ => “nav”,
//是否打印,默认是true,如果想将导航的代码作为赋值使用,可设置为false
‘echo’ => true,
//备用的导航菜单函数,用于没有在后台设置导航时调用
‘fallback_cb’ => ‘the_main_nav’,
//显示在导航a标签之前
‘before’ => ‘<p>’,
//显示在导航a标签之后
‘after’ => ‘</p>’,
//显示在导航链接名之前
‘link_before’ => ‘<em>’,
//显示在导航链接名之后
‘link_after’ => ‘</em>’,
//显示的菜单层数,默认0,0是显示所有层
‘depth’ => 0,
//调用一个对象定义显示导航菜单
‘walker’ => new Walker_Nav_Menu(),
//指定显示的导航名,如果没有设置,则显示第一个
‘theme_location’ => ‘primary’
//打印导航菜单
)
添加好代码之后,接下来就在WP后台Appearance(外观) > Menus(菜单) 中设置菜单了,见下图