navwalker下载地址
链接:https://pan.baidu.com/s/1r1_Dvo2Hnfwpn0_aW_8nvA
提取码:qn7p
使用方法
打开functions.php,使用register_nav_menus()函数来注册菜单:
[php]
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'THEMENAME' ),
) );
[/php]
创建Walker对象 Walker对象是Wordpress用来扩展自身功能的一个辅助机制,让开发者在不修改程序源代码的基础上扩展自己需要的功能,比如我们要对导航菜单Nav_Menu进行扩展,则只需要创建一个继承Walker_Nav_Menu类库(该类继承的Walker基类)的对象即可。 国外已经有先驱写好Walker了,我们直接拿来用即可,鉴于大陆网民可能很难访问原网站,博主已经打包放在code上了,如果你使用的Bootstrap2则下载后面即可,传送门:bootstrap3、bootstrap2。 我们最好将该类库放在主题独立的文件中比如”inc/wp_bootstrap_navwalker.php”,然后在functions.php中引入:
[php]
// Register Custom Navigation Walker
require_once get_template_directory() . '/inc/class-wp-bootstrap-navwalker.php';
[/php]
模板中调用导航菜单 我们知道Wordpress有个直接调用导航条的函数wp_nav_menu($args=array()),我们要自己定义一个类似功能的函数吗?No,我们仍然利用WP原生的导航条函数,下面简单介绍我们本教程需要用到的几个参数。
//theme_location:主题functions.php中注册菜单的位置标识;
//depth:菜单的深度,比如”2″表示只显示二级菜单;
//container:包含菜单的容器,默认为”div”,我们可以设置为false表示不需要外容器;
//menu_class:菜单项ul的样式;
//fallback_cb:如果后台未创建菜单时候的回调函数;
//walker:自定义的辅助函数;
知道各参数的意义了,下面我们直接在合适的地方调用函数即可。
[php]
<?php wp_nav_menu(array( 'theme_location' => 'primary',
'depth' => 2,
'container' => FALSE,
'menu_class' => 'nav navbar-nav',
'fallback_cb' => 'Wp_Bootstrap_Navwalker::fallback',
'walker' => new Wp_Bootstrap_Navwalker()
));
?>
[/php]