current_user_can

使用说明:

current_user_can( $capability, $args );

  • $capability参数是必须的,是指给予什么样的能力,或者说给他可以做什么;
  • $args 参数是非必要的,是额外给予的参数,例如:current_user_can('edit_post', 121),意指给他可以编辑编号为121的文章。

角色判断

if( current_user_can('administrator') ) {

    echo '這個文字只有管理員才能看的到';

}

或者

if( current_user_can('level_10') ) {

    echo '這個文字只有管理員才能看的到';

}

  • 补充说明:

level 数字的判断方式,。官方已经建议不要再使用了,应尽量避免。

  • level_10 ~ level_8:只有 administrator 等级有权限

  • level_7 ~ level_3:只有 administrator、editor 等级有权限

  • level_2:只有 administrator、editor、author 等级有权限

  • level_1:只有 administrator、editor、author、contributor 等级有权限

  • level_0:只有 administrator、editor、author、contributor、subscriber 等级有权限

  • 管理员:administrator

  • 编辑: editor

  • 作者: autor

  • 投稿者: contributor

  • 订阅者:subscriber

使用举例:

1 判断用户是否为管理员(administrator)

if ( current_user_can (  'manage_options'  )  )  {

    echo  'The current user is a administrator' ;
}

2 判断用户是否为编辑(Editor)

if ( current_user_can (  'publish_pages'  )  &&  ! ​​current_user_can (  'manage_options'  )  )  {

    echo  'The current user is an editor' ;

}

3 判断用户是否为作者(Author)

if ( current_user_can (  'publish_posts'  )  &&  ! ​​current_user_can (  'publish_pages'  )  )  {

    echo  'The current user is an author' ;

}

4 判断用户是否为投稿者(Contributor)

if ( current_user_can (  'edit_posts'  )  &&  ! ​​current_user_can (  'publish_posts'  )  )  {
echo 'The current user is a contributor' ;
}

5 判断用户是否为订阅者(Subscriber)

if ( current_user_can (  'read'  )  &&  ! ​​current_user_can (  'edit_posts'  )  )  {
echo 'The current user is a subscriber' ;
}

参考链接

wordpress current_user_can 判断角色的更多相关文章

  1. Unity3D判断角色对敌人是否可见

    在编写敌人AI的状态机时 经常需要判断角色对敌人来说是不是可见的 如果是可见的,则做出追击或者攻击动作 如果是不可见的,则保持idle或者巡逻状态 判断是否可见 包括两个步骤 1.地方角色的视见向量和 ...

  2. Adminimize 插件:WordPress根据用户角色显示/隐藏某些后台功能

    倡萌刚才分享了 WordPress根据用户角色隐藏文章/页面的功能模块(Meta Boxes),如果你还想根据不同用户角色显示或隐藏后台的某些功能,比如 顶部工具条.左边导航菜单.小工具.仪表盘.菜单 ...

  3. wordpress如何判断手机、平板还是PC并显示对应的内容-Mobile Detect

    wordpress如何判断是手机.平板还是PC访问,并针对性的显示特定的内容?Mobile Detect 这个轻量级PHP 类库能够很好的实现这个功能.而且Mobile Detect也有wordpre ...

  4. Wordpress页面判断

    is_single() 判断是否是文章页面 is_single('2')/is_single(2)判断是否是具体文章(id=2)的页面 is_single('')判断是否是具体文章(标题为Beef S ...

  5. WordPress教程之判断文章所属分类函数in_category、is_category

    最近自己在修改一个采用Wordpress程序的博客的时候需要用到一个特殊的功能:我需要判断这篇文章是属于哪些分类,如果属于我设定的分类下的文章,则输出一个DIV内容.按道理说实现这个功能应该不算太难, ...

  6. wordpress角色权限汇总

    我们在用wordpress开发的时候有时候需要设置不同的用户组及权限,具体有哪些角色权限呢?随ytkah一起来看看吧.WordPress使用了角色的概念,旨在让站点所有者能够控制用户在站点中可以做什么 ...

  7. wordpress 自定义删除后台管理菜单

    <?php /* //wordpress共有5种角色:administrator(管理员) editor(编辑) author(作者) contributor(投稿者) subscriber(订 ...

  8. WordPress主题模板层次和常用模板函数

    首页: home.php index.php 文章页: single-{post_type}.php – 如果文章类型是videos(即视频),WordPress就会去查找single-videos. ...

  9. 在ASP.NET MVC5中建置以角色为基础的授权机制

    在前一篇贴文中,已探索过如何在MVC5中自定ASP.NET Identity,接下来要来试试在MVC5中如何运用 ASP.NET Identity来设定一个以 "角色"为基础的授权 ...

随机推荐

  1. AOP +FreeSql 跨方法异步事务

    AOP +FreeSql 跨方法异步事务 Autofac.Extensions.DependencyInjection Autofac.Extras.DynamicProxy Castle.Core. ...

  2. MySQL深入研究--学习总结(3)

    前言 接上文,继续学习后续章节.细心的同学已经发现,我整理的并不一定是作者讲的内容,更多是结合自己的理解,加以阐述,所以建议结合原文一起理解. 第九章<普通索引和唯一索引,如何选择> 从查 ...

  3. 面试准备——计算机网络(https)

    一.为什么要提出HTTPS? HTTP的缺点: 明文通信.不加密,可能被窃听. 无身份验证,可能遭遇伪装. 无法证明报文的完整性,可能被篡改. 二.HTTPS = HTTP+加密(防窃听)+认证(防伪 ...

  4. Vmware虚拟机CentOS7、Ubuntu20系统设置静态IP,且主机和虚拟机系统能相互ping通。

    目录 前言 一.VMware虚拟系统centos7设置静态IP 1.1 打开VMware虚拟网络配置窗口 1.2 方法1:通过DHCP服务给主机动态分配IP,同时设置centos静态IP 1.2.1 ...

  5. go中sync.Once源码解读

    sync.Once 前言 sync.Once的作用 实现原理 总结 sync.Once 前言 本次的代码是基于go version go1.13.15 darwin/amd64 sync.Once的作 ...

  6. Springboot的监控

    目录 Micrometer 计数器 仪表 摘要 计时器 Prometheus grafana 保存后我们就能在dashboard上看得我我们的监控指标了参考 Spring Boot有个子项目Sprin ...

  7. BIMFACE二次开发【C#系列】

    本系列文章主要介绍使用 C# .ASP.NET(MVC)技术对 BIMFACE 平台进行二次开发,以满足本公司针对建筑行业施工图审查系统的业务需求,例如图纸模型(PDF 文件.二维 CAD 模型.三维 ...

  8. java二叉树遍历——深度优先(DFS)与广度优先(BFS) 递归版与非递归版

    介绍 深度优先遍历:从根节点出发,沿着左子树方向进行纵向遍历,直到找到叶子节点为止.然后回溯到前一个节点,进行右子树节点的遍历,直到遍历完所有可达节点为止. 广度优先遍历:从根节点出发,在横向遍历二叉 ...

  9. WinForm的Socket实现简单的聊天室 IM

    1:什么是Socket 所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象. 一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制. 从 ...

  10. MySQL深入研究--学习总结(5)

    前言 接上文,继续学习后续章节.细心的同学已经发现,我整理的并不一定是作者讲的内容,更多是结合自己的理解,加以阐述,所以建议结合原文一起理解. 第20章<幻读是什么,幻读有什么问题?> 先 ...