#导航#

Wordpress 自定义导航菜单详解

这里来详细讲一下如何自定义导航菜单,有三个步骤

1.注册

通过在 function.php 调用 register_nav_menu() 或者 register_nav_menus(),完成此步后你的主题就支持自定义导航菜单的功能了。

2.设置

后台-外观-菜单中自定义你的导航菜单。
<!--more-->

3.调用

在模板文件里通过 wp_nav_menu() 调用你的菜单。

要注意的是 wp_nav_menu()$theme_locaton 的值应该是 register_nav_menu()$locaton 的值,而不是你在后台设置所添加的那个菜单名称。,我第一次用的时候就搞错了,后来知道如何注册了多个菜单时就好理解了。

在 Wordoress 官网看有关自定义导航菜单的更多信息:http://codex.wordpress.org/Navigation_Menus

Wordpress 注册导航菜单:register_nav_menu()

register_nav_menu() 用于 WordPress 中注册导航菜单。

调用

//在 function.php中 调用
<?php register_nav_menu( $location, $description ); ?>

参数

<?php register_nav_menu( 
      $location,//菜单的名称
      $description //菜单的描述
      );
?>

同时注册多个导航菜单要用到 register_nav_menus() 函数

<?php
register_nav_menus( array(
    'menu1' => '菜单一',
    'menu2' => '菜单二'
) );
?>

另外,注销导航菜单要用到 unregister_nav_menu( $location ) 函数,可以用在子主题的 function.php 中。

Wordpress 导航菜单:wp_nav_menu()

调用

在需要调用导航菜单的地方插入<?php wp_nav_menu($args);>

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' => );
?>
阅读全文