对于WordPress中判断用户等级、管理员、角色、登陆等等这都是WordPress开发中常会使用到的,WordPress中判断用户等级、管理员、角色、登陆可以很方便的区分内容可见或者不同的权限,今天我们就为大家详细介绍下用户等级、管理员、角色、登陆的wordpress判断用户的重头戏吧。熟练掌握wordpress判断用户为您的主题插件开发增加色彩吧!
要说的是current_user_can() 可以根据不同角色拥有的权限来判断用户角色,具体的用户权限,可以在Roles and Capabilities 中找到。
首先判断用户是否为管理员(Administrator)
一、判断指定id的用户是不是管理员


function ruike_is_administrator($user_id) {
  $user = get_userdata($user_id);
  if(!empty($user->roles) && in_array('administrator', $user->roles))
    return 1;  // 是管理员
  else
    return 0;  // 非管理员
}

二、判断当前登录用户是不是管理员
如果是判断当前登录用户是不是管理员,可以使用下面的函数:


function ruike_is_administrator() {
  // wp_get_current_user函数仅限在主题的functions.php中使用
  $currentUser = wp_get_current_user();

  if(!empty($currentUser->roles) && in_array('administrator', $currentUser->roles)) 
    return 1;  // 是管理员
  else
    return 0;  // 非管理员
}

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


if( current_user_can( 'publish_pages' ) && !current_user_can( 'manage_options' ) ) {
    echo 'The current user is an editor';
}

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


if( current_user_can( 'publish_posts' ) && !current_user_can( 'publish_pages' ) ) {
    echo 'The current user is an author';
}

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


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

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


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

七、判断用户是否登录


<?php
if ( is_user_logged_in() ) {
  echo '已登录!';
} else {
  echo '未登录!';
}
?>

至此wordpress判断用户就先讲到这里了,对于wordpress判断用户总体来说还是根据个人需求来定制您的wordpress判断用户方案,一般来说wordpress判断用户总体来说这些基本就够用了更多wordpress教程尽在瑞课。

瑞课支付