http://codex.WordPress.org/Function_Reference/wp_nav_menu
wp_nav_menu() 方法位於 wp-includes/nav-menu-templates.php 檔案中。
其主要用途是透過該方法,實現後臺的生成選單呼叫。
使用該功能之前,必須啟用主題 3.0+選單功能。
啟用方法如下:
在 functions.php 檔案中加入 if(function_exists('register_nav_menus')){
register_nav_menus(
array(
'header-menu' => __( ' 導航自定義選單' ),
'footer-menu' => __( ' 頁角自定義選單' ),
'sider-menu' => __(' 側邊欄選單')
)
);
}
上面這些,只是選單的位置,並不是選單的內容。選單的內容,得在後臺新增。
簡單呼叫如下:
<?php wp_nav_menu(
array(
'theme_location' => '' //指定顯示的導航名,如果沒有設定,則顯示第一個
'menu' => 'header-menu',
'container' => 'nav', //最外層容器標籤名
'container_class' => 'primary', //最外層容器 class 名
'container_id' => '',//最外層容器 id 值
'menu_class' => 'sf-menu', //ul 標籤 class
'menu_id' => 'topnav',//ul 標籤 id
'echo' => true,//是否列印,預設是 true,如果想將導航的程式碼作為賦值使用,可設定為 false
'fallback_cb' => 'wp_page_menu',//備用的導航選單函式,用於沒有在後臺設定導航時呼叫
'before' => '',//顯示在導航 a 標籤之前
'after' => '',//顯示在導航 a 標籤之後
'link_before' => '',//顯示在導航連結名之後
'link_after' => '',//顯示在導航連結名之前
'items_wrap' => '<ul id="%1$s">%3$s</ul>',
'depth' => 0,////顯示的選單層數,預設 0,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' ) );
}
?>
移除選單欄
<?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' => '' ) ); ?>