WordPress函數wp_nav_menu()怎麼用?
1、wp_nav_menu()函數介紹:
worpdress發展到3.0以後增加了一個自訂選單函數wp_nav_menu(),使得wordpress能夠輕鬆的製作自己的導覽選單。
2、如何呼叫導航選單(自訂選單):
在需要呼叫導覽選單(或稱為自訂選單)的地方插入來呼叫導航選單,其中$args是函數的參數,後面會詳細說明。
推薦:《WordPress教學》
3、wp_nav_menu($args)函式中,參數$args的預設值:
#程式碼如下:
<?php $defaults = array( ’theme_location’ => , ’menu’ => , ’container’ => ’div’, ’container_class’ => ’menu-{menu slug}-container’, ’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’ => ); ?>
4、wp_nav_menu($args)函數中每個參數的具體意義:
$theme_locaton:(字串)(可選)
預設值: None
用於在呼叫導覽功能表時指定已註冊的某一個導覽功能表名,如果沒有指定,則顯示第一個。
wp_nav_menu(array( ‘theme_location’ =>’primary’)); //呼叫第一個選單。
$menu:(字串)(可選)
預設值: None
#使用導航選單的名稱呼叫選單,可以是id, slug, name (按順序匹配的) 。
$container:(字串)(可選)
預設值: div
ul 父節點(這裡指導航選單的容器)的標籤類型,只支持div 和nav 標籤, 如果是其它值, ul 父節點的標籤將不會被顯示。也可以用false(container => false)去掉ul父節點標籤。
$container_class:(字串)(可選)
預設值: menu-{menu slug}-container
ul 父節點的 class 屬性值。
$container_id:(字串)(可選)
預設值: None
ul 父節點的 id 屬性值。
$menu_class:(字串)(可選)
預設值: menu
ul 節點的 class 屬性值。
$menu_id:(字串)(可選)
預設值: menu slug, 自增長的
ul 節點的 id 屬性值。
$echo:(布林型)(可選)
預設值: true (直接顯示)
確定直接顯示導覽選單還是傳回HTML 片段,如果想將導航的程式碼作為賦值使用,可設定為false。
$fallback_cb:(字串)(可選)
預設值: wp_page_menu (顯示頁面清單作為選單)
用於沒有在背景設定導覽時調的回調函數。
$before:(字串)(可選)
預設值: None
#顯示在每個選單連結前的文字。
$after:(字串)(可選)
預設值: None
#顯示在每個選單連結後的文字。
$link_before:(字串)(可選)
預設值: None
顯示在每個選單連結文字前的文字。
$link_after:(字串)(可選)
預設值: None
#顯示在每個選單連結文字後的文字。
$items_wrap:(字串)(可選)
預設值: None
使用字串取代修改ul的class。
$depth:(整數)(可選)
預設值: 0
#顯示選單的深度, 當數值為 0 時顯示所有深度的選單。
$walker:物件類型)(可選)
預設值: new Walker_Nav_Menu
自訂的遍歷對象,呼叫一個物件定義顯示導航選單。
5、如何相容舊版的wordpress:
利用參數$fallback_cb來實現對舊版的wordpress的相容,將參數'sort_column'=>'menu_order' 寫入wp_nav_menu 的參數, 那該參數同時也會傳遞到call_user_func 方法中. 如果call_user_func 是wp_page_menu 方法, 那麼顯示的頁面清單將會以賦予的序號排序輸出.
程式碼如下:
if ( ( !$menu || is_wp_error($menu) || ( isset($menu_items) && empty($menu_items) && !$args->theme_location ) ) && ( function_exists($args->fallback_cb) || is_callable( $args->fallback_cb ) ) ) return call_user_func( $args->fallback_cb, (array) $args );</p> <p>// 如果找不到指定菜单, 或者菜单不存在任何条目并没有指定自定义菜单, 使用 call_user_func 方法来进行处理
以上是WordPress函數wp_nav_menu()怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!