wp_nav_menu()方法位于wp-includes/nav-menu-templates.php文件中。
其主要用途是通過該方法,實(shí)現(xiàn)后臺(tái)的生成菜單調(diào)用。
使用該功能之前,必須激活主題3.0+菜單功能。
激活方法如下:
在functions.php文件中加入
if(function_exists('register_nav_menus')){
register_nav_menus(
array(
'header-menu' => __( '導(dǎo)航自定義菜單' ),
'footer-menu' => __( '頁(yè)角自定義菜單' ),
'sider-menu' => __('側(cè)邊欄菜單')
)
);
}
簡(jiǎn)單調(diào)用如下:
<?php wp_nav_menu( array( 'theme_location' => '' //指定顯示的導(dǎo)航名,如果沒有設(shè)置,則顯示第一個(gè) 'menu' => 'header-menu', 'container' => 'nav', //最外層容器標(biāo)簽名 'container_class' => 'primary', //最外層容器class名 'container_id' => '',//最外層容器id值 'menu_class' => 'sf-menu', //ul標(biāo)簽class 'menu_id' => 'topnav',//ul標(biāo)簽id 'echo' => true,//是否打印,默認(rèn)是true,如果想將導(dǎo)航的代碼作為賦值使用,可設(shè)置為false 'fallback_cb' => 'wp_page_menu',//備用的導(dǎo)航菜單函數(shù),用于沒有在后臺(tái)設(shè)置導(dǎo)航時(shí)調(diào)用 'before' => '',//顯示在導(dǎo)航a標(biāo)簽之前 'after' => '',//顯示在導(dǎo)航a標(biāo)簽之后 'link_before' => '',//顯示在導(dǎo)航鏈接名之后 'link_after' => '',//顯示在導(dǎo)航鏈接名之前 'items_wrap' => '<ul id="%1$s">%3$s</ul>', 'depth' => 0,////顯示的菜單層數(shù),默認(rèn)0,0是顯示所有層 'walker' => ''// //調(diào)用一個(gè)對(duì)象定義顯示導(dǎo)航菜單 )); ?>
根據(jù)是否登錄生成不同該菜單欄
<?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' ) );
}
?>
移除菜單欄
<?php
function my_wp_nav_menu_args( $args = '' )
{
$args['container'] = false;
return $args;
} // function
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );
?>
或者
<?php wp_nav_menu( array( 'container' => '' ) ); ?>
生成的菜單css風(fēng)格為
