wordpress导航菜单函数wp_nav_menu()

1、wp_nav_menu()函数介绍:

 

worpdress发展到3.0以后增加了一个自定义菜单函数wp_nav_menu(),使得wordpress能够轻松的制作自己的导航菜单。

 

2、如何调用导航菜单(自定义菜单):

 

在需要调用导航菜单(或者称之为自定义菜单)的地方插入<?php wp_nav_menu($args) ;?>来调用导航菜单,其中$args是函数的参数,后面会详细说明。

 

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:

 

(注:下面内容来自neoease)

 

利用参数$fallback_cb来实现对旧版本的wordpress的兼容,将参数 ‘sort_column’=>’menu_order’ 写入 wp_nav_menu 的参数, 那该参数同时也会传递到 call_user_func 方法中. 如果 call_user_func 是 wp_page_menu 方法, 那么显示的页面列表将会以赋予的序号排序输出.

 » 本站地址:http://www.gomoth.com

标签: