建站服務(wù)器
小編給大家分享一下wordpress函數(shù)wp_nav_menu()的使用方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
wordpress函數(shù)wp_nav_menu()怎么用?
1、wp_nav_menu()函數(shù)介紹:
worpdress發(fā)展到3.0以后增加了一個自定義菜單函數(shù)wp_nav_menu(),使得wordpress能夠輕松的制作自己的導(dǎo)航菜單。
2、如何調(diào)用導(dǎo)航菜單(自定義菜單):
在需要調(diào)用導(dǎo)航菜單(或者稱之為自定義菜單)的地方插入<?php wp_nav_menu($args) ;?>來調(diào)用導(dǎo)航菜單,其中$args是函數(shù)的參數(shù),后面會詳細說明。
3、wp_nav_menu($args)函數(shù)中,參數(shù)$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)函數(shù)中每個參數(shù)的具體含義:
$theme_locaton:(字符串)(可選)
默認值: none
用于在調(diào)用導(dǎo)航菜單時指定注冊過的某一個導(dǎo)航菜單名,如果沒有指定,則顯示第一個。
wp_nav_menu(array( ‘theme_location’ =>’primary’)); //調(diào)用第一個菜單。
$menu:(字符串)(可選)
默認值: none
使用導(dǎo)航菜單的名稱調(diào)用菜單,可以是 id, slug, name (按順序匹配的) 。
$container:(字符串)(可選)
默認值: div
ul 父節(jié)點(這里指導(dǎo)航菜單的容器)的標簽類型,只支持div 和 nav 標簽, 如果是其它值, ul 父節(jié)點的標簽將不會被顯示。也可以用false(container => false)去掉ul父節(jié)點標簽。
$container_class:(字符串)(可選)
默認值: menu-{menu slug}-container
ul 父節(jié)點的 class 屬性值。
$container_id:(字符串)(可選)
默認值: none
ul 父節(jié)點的 id 屬性值。
$menu_class:(字符串)(可選)
默認值: menu
ul 節(jié)點的 class 屬性值。
$menu_id:(字符串)(可選)
默認值: menu slug, 自增長的
ul 節(jié)點的 id 屬性值。
$echo:(布爾型)(可選)
默認值: true (直接顯示)
確定直接顯示導(dǎo)航菜單還是返回 html 片段,如果想將導(dǎo)航的代碼作為賦值使用,可設(shè)置為false。
$fallback_cb:(字符串)(可選)
默認值: wp_page_menu (顯示頁面列表作為菜單)
用于沒有在后臺設(shè)置導(dǎo)航時調(diào)的回調(diào)函數(shù)。
$before:(字符串)(可選)
默認值: none
顯示在每個菜單鏈接前的文本。
$after:(字符串)(可選)
默認值: none
顯示在每個菜單鏈接后的文本。
$link_before:(字符串)(可選)
默認值: none
顯示在每個菜單鏈接文本前的文本。
$link_after:(字符串)(可選)
默認值: none
顯示在每個菜單鏈接文本后的文本。
$items_wrap:(字符串)(可選)
默認值: none
使用字符串替換修改ul的class。
$depth:(整型)(可選)
默認值: 0
顯示菜單的深度, 當(dāng)數(shù)值為 0 時顯示所有深度的菜單。
$walker:(對象型)(可選)
默認值: new walker_nav_menu
自定義的遍歷對象,調(diào)用一個對象定義顯示導(dǎo)航菜單。
5、如何兼容舊版本的wordpress:
利用參數(shù)$fallback_cb來實現(xiàn)對舊版本的wordpress的兼容,將參數(shù) ‘sort_column’=>’menu_order’ 寫入 wp_nav_menu 的參數(shù), 那該參數(shù)同時也會傳遞到 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函數(shù)wp_nav_menu()的使用方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注資訊頻道,感謝各位的閱讀!