wordpress不同角色显示不同的菜单栏
来源:互联网 发布:代驾软件 编辑:程序博客网 时间:2024/06/06 19:34
如果使用熟悉,wordpress的菜单栏设计在开发中是一个很方便的工具。这篇文详细讲wordpress中如何对不同角色显示不同的菜单栏。
1.注册不同的菜单,在functions.php中注册菜单
//注册菜单if(!function_exists('specs_register_nav_menu')){function specs_register_nav_menu() {register_nav_menus(array('primary'=>'头部主菜单', // Register the Primary menu// Copy and paste the line above right here if you want to make another menu,// just change the 'primary' to another name 'second' => '头部学生菜单',));}}add_action( 'after_setup_theme', 'specs_register_nav_menu' );
2.wordpress后台设置
wordpress 中进入外观》菜单,可以看到菜单编辑
红色椭圆部分你可以选择对哪个菜单进行编辑,当然你也可以创建新的菜单进行编辑。编辑的方法就不说了,拖来拖去而已。编辑完后在下面的红色框位置勾选你所编辑的菜单要放入你刚才代码注册的菜单中的哪个。当时就是在这个问题卡住 了,注册了的菜单与编辑的菜单有什么关系,菜单设置又是起到什么作用。思考了挺久之后得出一结论,这里提供参考,不保证完全正确。
思考:注册的菜单和编辑的菜单有什么关系?菜单设置又是干什么的?答:其实注册的菜单可以比喻为向wordpress注册了两个容器,而你编辑的两个菜单可以说是你做好的两个东西,那么菜单设置就是将你编辑的两个东西放入你注册的两个容器中。当然,编辑的菜单要放入你注册的哪个容器就看你怎么勾选了。这里我将首页这个菜单放入头部主菜单这个容器中,因此椭圆红色框中会出现 首页(头部主菜单) 即wordpress提醒我首页这个菜单已经放入头部主菜单中了。新手领悟,不正确希望能得到纠正。
3.引用
在设置好菜单后,就要在header.php中判断是什么角色然后进行菜单选择
首先在functions.php中写好角色判断函数:
//判断是否是subscriber,如果需要判断其他角色请自行添加function check_for_user(){global $current_user;$user_roles = $current_user->roles;if (!strcmp($user_roles[0], "subscriber")) {return 1;}}然后在header.php中进行菜单选择:
if (check_for_user()) { if ( has_nav_menu( 'second' ) ) { wp_nav_menu( array('theme_location' => 'second','container' => '','container_class' => '','container_id' => '','menu_class' => 'nav navbar-nav','items_wrap' => '<ul class="%2$s">%3$s</ul>','walker' => new Bootstrap_Walker )); //学生主菜单 }else{ echo '<ul class="nav navbar-nav">'; //wp_list_pages('sort_column=menu_order&title_li='); wp_list_categories('sort_column=menu_order&title_li='); echo '</ul>'; } }else{ if ( has_nav_menu( 'primary' ) ) { wp_nav_menu( array('theme_location' => 'primary','container' => '','container_class' => '','container_id' => '','menu_class' => 'nav navbar-nav','items_wrap' => '<ul class="%2$s">%3$s</ul>','walker' => new Bootstrap_Walker )); //教师、管理员主菜单 }else{ echo '<ul class="nav navbar-nav">'; //wp_list_pages('sort_column=menu_order&title_li='); wp_list_categories('sort_column=menu_order&title_li='); echo '</ul>'; } }
如果还有什么其他问题就到谷歌上看看吧,新手一般遇到的问题谷歌都解决得了!!
0 0
- wordpress不同角色显示不同的菜单栏
- WordPress如何现实:不同页面显示不同的侧边栏
- wordpress判断不同页面显示不同内容的方法
- wordpress不同页面显示不同文章
- wordpress为不同的category添加不同的模板
- 不同的显示隐藏
- 使用Forms设置不同角色具有不同的权限
- WordPress不同分类使用不同的文章模板
- 不同分辨率显示不同的连接
- 不同的时间格式 显示
- 显示不同大小的字体
- label 显示 不同的颜色
- 字符串显示不同的颜色
- ListView显示不同的item
- textwrapping的不同显示效果
- xml不同状态的显示
- 显示不同数据的地址
- Jenkins 不同角色不同视图及不同权限设置
- 第一章:java概述(java知识点)
- 面向对象的三大属性:封装、继承、多态
- 如何把用laravel5.4写好的网站架构到远程虚拟机上
- ReactNative (API)AsyncStorage存储详解及实例
- SDNU 1492.Problem_A LCA倍增算法
- wordpress不同角色显示不同的菜单栏
- Android—— ListView 的简单用法及定制ListView界面
- PBOC2.0/EMV之TLV格式解析(C++)
- ACM Buy Tickets
- 对韦东山老师移植最新uboot的总结
- Redis实现简单消息队列
- java project单独使用hibernate
- wordpress <4.6.1 语言文件导致的代码执行
- 在Linux操作系统下安装JAVA8