WordPress函數wp_nav_menu()怎么用

WordPress函數wp_nav_menu()怎么用

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’?=&gt;?, ’container’?=&gt;?’div’, ’container_class’?=&gt;?’menu-{menu?slug}-container’, ’container_id’?=&gt;?, ’menu_class’?=&gt;?’menu’, ’menu_id’?=&gt;?, ’echo’?=&gt;?true, ’fallback_cb’?=&gt;?’wp_page_menu’, ’before’?=&gt;?, ’after’?=&gt;?, ’link_before’?=&gt;?, ’link_after’?=&gt;?, ’items_wrap’?=&gt;?’
    %3$s

’, ’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)?&amp;&amp;?empty($menu_items)?&amp;&amp;?!$args-&gt;theme_location?)?) &amp;&amp;?(?function_exists($args-&gt;fallback_cb)?||?is_callable(?$args-&gt;fallback_cb?)?)?) return?call_user_func(?$args-&gt;fallback_cb,?(array)?$args?);?<p>//?如果找不到指定菜單,?或者菜單不存在任何條目并沒有指定自定義菜單,?使用?call_user_func?方法來進行處理</p>

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享