WordPress 3.0以前的版本,默认的导航菜单只能是页面或分类,或二者兼有,如果想自己加入一个自定义链接则需要修改主题,非常地不方便。3.0提供了一个全新的菜单管理系统,这个系统可以让我们创建包含由日志,页面,分类,标签和其它链接组成的完全自定义菜单,并且还支持多级菜单,非常方便和强大。
一、概述
首先我们简单解释下这个导航系统的几个概念:
-
主题位置:其实就是在WordPress数据库中定义了一个或者多个标记,用于当前主题。
-
独立的菜单:上面定义了菜单在主题的位置,那么这里就是定义菜单的具体内容。
-
添加菜单项:会提供一堆选择让你添加,如分类,页面,标签,日志,其它日志分类,还有自定义链接等。
-
菜单项:可以对具体的菜单项进行配置,比如设置是否该链接在新窗口打开,这个菜单项的标题、描述、Class 等等。
二、注册导航菜单
要使用 WordPress 导航菜单功能,首先要给当前的主题注册导航菜单,从上面我们知道,我们可以注册一个或者多个导航菜单的主题位置,我么可以使用下面两个函数:
register_nav_menu():注册一个主题位置。
register_nav_menus():注册多个主题位置(使用数组形式)。
这里我们只注册一个导航菜单的主题位置,即在functions.php文件中添加以下代码:
add_action( ‘init’, ‘register_navigator’ );
function register_navigator() {
register_nav_menu( ‘navigator’, __( ‘主菜单’ ) );
}
navigator是这个导航菜单的名字,用来在函数中定义身份的,而“主菜单”则是名称,在 WordPress 后台使用的时候可见。
三、添加和显示导航菜单
注册好之后,就可以到 WordPress 后台 > 外观 > 菜单 添加菜单,添加的菜单的顺序是这样的:
- 首先定义好一个单独的菜单。
- 然后吧这个菜单赋给一个主题位置。
- 接下来就是添加和配置菜单项。
然后我们到主题的显示菜单的位置通过以下 wp_nav_menu() 就能把刚才定义的菜单显示出来。
四、样式化导航菜单
样式化导航菜单非常简单,你只需要对 current-menu-item 和 current-menu-parent 这两个 Class 进行定义即可。如:
#navigator li.current-menu-item, #navigator li.current-menu-parent, #navigator li:hover {
background:#1BA6B2;
text-decoration:none;
position: relative;
}
然后定义各级菜单的显示、层次效果,这样就可以了。