目前WordPress 3.0 RC已发布,新版增加了许多功能,可能喜欢尝鲜的朋友已迫不及待地升级了自己博客,利用原来2.9.2版的中文语言文件基本汉化了大部分菜单,只有少部分还是英文的,其中在主题选项中多出一个Menus功能,一个可以方便灵活地向导航菜单添加自定义内容的新功能。但当你打开这个选项时会提示“The current theme does not natively support menus, but you can use the “Custom Menu” widget to add any menus you create here to the theme’s sidebar.”大概的意思是:当前的主题不支持菜单功能,但你可以把利用这一“菜单”功能,添加的自定义菜单应用到主题侧边栏中,也就是小工具(E文盲,翻译的不好别见笑)。然而当你启用3.0版默认主题Twenty Ten后,这个提示就消失了,看来是新的默认主题针对3.0功能进行了优化。

原来在默认主题functions.php中有一句:

1. // This theme uses wp_nav_menu() in one location.
2. register_nav_menus( array(
3. 'primary' => __( 'Primary Navigation', 'twentyten' ),
4. ) );

 

把这句代码添加到当前主题functions.php模板文件中,提示也消失了,关键就是这句了。
也可以用:

1. // This theme uses wp_nav_menu()
2. add_theme_support( 'nav-menus' );

但只修改这里,并不会真正在主题导航菜单上启用这个功能,只会在侧边小工具中多出custom menu小工具一项,还需修改导航部分代码,才会体验到新的功能。
一般主题导航部分代码为:
1. <?php wp_list_pages('title_li='); ?>

改为
1. <?php wp_nav_menu( 'id=navbar' ); ?>

也可以根据自己使用的主题功能修改为类似:
1. <?php wp_nav_menu( 'id=navbar&menu_class=headermenu' ); ?>

主题改造完成,下面简单介绍一下这个Menus功能的使用方法:
打开Menus设置页面,在此添加一个新的自定义菜单:

 

menus1-1

在左侧选择准备显示在导航菜单的分类标题或页面,也可以添加一个链接,然后点击“add to menu”添加到新的自定义菜单中,保存菜单。

menus2-1

刷新博客页面,看看新的导航菜单是不是出来了。

总结:个人感觉这是3.0版一个非常不错的新功能,可以灵活方便地变更主题导航菜单内容,不受主题本身限制,但之前所有主题都不支持这个功能,需手动修改模板文件,对新手而言,有一定难度。