WordPress 常用函数 / current_user_can

简介

检测当前的用户是否有特定的权限,使用之前要确保全局的 $current_user 已经被设置了。

用法

<?php current_user_can( $capability, $args ); ?>

参数

$capability
(string) (required) 权限或者角色名称
Default: None

$args
(mixed) (optional) 额外需要的参数,比如 Post ID,一些权限检测(比如 ‘edit_post’ 或者 ‘delete_page’)需要提供这个参数。
Default: None

返回值

(bool)
如果当前用户有该权限返回 true,否则返回 false。

修改记录

Since: 2.0.0

源文件

wp-includes/capabilities.php


wordpress current_user_can 判断角色

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' ; 
}

人已赞赏
php开发wordpress

WordPress函数 wp_nonce_field()函数详解

2019-10-6 18:33:58

php开发wordpress

WordPress 常用函数 / sanitize_text_field

2019-10-6 21:03:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索