对于任何一个网站,菜单的作用都是举足轻重的.那在用wordpress进行网站开发时,菜单的原理是怎嘛进行的呢?以下小编来分享下自己的学习过程.如有不对,请高人指点.
register_nav_menus( array(
‘primary’ => __( ‘Primary Menu’, ‘twentyfifteen’ ),
‘social’ => __( ‘Social Links Menu’, ‘twentyfifteen’ ),
) );
在wordpress自带的主题functions中(以twentyfifteen为例),有以上的一串代码,这个方法的作用就是注册一个菜单.其中primary和social是所注册的菜单的名称.__是wordpress的一个方法,具体什么作用小编目前还不清楚,
Primary Menu 和 Social Links Menu 是显示在后台菜单管理的菜单名称,当我们点开后台->菜单 进行菜单编辑时就会看到,效果如下图.需要注意的是,我们在这里创建的此单名称lxwm(可以自定义),一定要选择菜单显示的位置.小编把lxwm菜单的位置选择在primary menu处.保存过菜单之后,在模板中需要的位置调用时并不是调用的菜单名称,而是调用注册菜单时所定义的名称.就是注册菜单时方法里所定义的primary.如果你调用时写的代码是lxwm是没有结果的.调用的代码是这样:
<?php if (function_exists('wp_nav_menu')) { wp_nav_menu(array('theme_location' => 'primary', 'menu_id' => 'nav_view_navigator_5_277627331')); } ?>
而事实上我们,在fifteen的主题中看到的菜单-> 显示位置并不是如上图所示的那样,而是如下图所示:
这是因为,在twentyfifteen主题的functions文件中的代码,其中单引号里的twentyfifteen在主题的语言包中被重新定义为”主菜单”和”社交网络菜单”,所以我们看到的后台界面是中文而不是注册菜单的英文.(至于语言包是如何工作的,有兴趣的小伙伴可以自己去学习下).
register_nav_menus( array( 'primary' => __( 'Primary Menu', 'twentyfifteen' ), 'social' => __( 'Social Links Menu', 'twentyfifteen' ), ) );
PS:想要顺利的使用菜单,必须要在主题的functions文件中先注册菜单名称,让后在后天管理处新建菜单,并在显示位置勾选上所注册的菜单名称.