通过 ID WordPress 获取用户角色
Get user role by ID WordPress
我需要以某种方式仅使用他们的 ID 来检查某人的角色。
我找到了 current_user_can()
检查。但这仅适用于已登录的人。如果该用户不是当前用户,我将如何检查?我正在使用 phone 订购系统,但它使用 admin/specific 帐户为其他人订购。
要检查用户是否具有特定角色,您必须获取他们的角色列表并查看该角色是否列在其中。
示例函数:
function user_has_role($user_id, $role_name)
{
$user_meta = get_userdata($user_id);
$user_roles = $user_meta->roles;
return in_array($role_name, $user_roles);
}
用法示例:
$user_is_subscriber = user_has_role(get_current_user_id(), 'subscriber');
在继续之前您需要了解的信息:
- 不能直接通过ID获取用户角色。
- 您可以获得分配给用户的所有角色。
让我们获取所有角色,并检查您感兴趣的角色是否存在或现在。
<?php
// Get the user object.
$user = get_userdata( $user_id );
// Get all the user roles as an array.
$user_roles = $user->roles;
// Check if the role you're interested in, is present in the array.
if ( in_array( 'subscriber', $user_roles, true ) ) {
// Do something.
echo 'YES, User is a subscriber';
}
$user_meta = get_userdata($user_id);
$user_roles = $user_meta->roles;
if ( in_array( 'administrator', $user_roles, true ) ) {
//echo User is a administrator';
}
你好试试这个最佳代码
if (get_userdata($post->post_author)->roles[0] == 'your_specified_role'){
echo 'role exist';
}else{
echo 'role does not exist';
}
我需要以某种方式仅使用他们的 ID 来检查某人的角色。
我找到了 current_user_can()
检查。但这仅适用于已登录的人。如果该用户不是当前用户,我将如何检查?我正在使用 phone 订购系统,但它使用 admin/specific 帐户为其他人订购。
要检查用户是否具有特定角色,您必须获取他们的角色列表并查看该角色是否列在其中。
示例函数:
function user_has_role($user_id, $role_name)
{
$user_meta = get_userdata($user_id);
$user_roles = $user_meta->roles;
return in_array($role_name, $user_roles);
}
用法示例:
$user_is_subscriber = user_has_role(get_current_user_id(), 'subscriber');
在继续之前您需要了解的信息:
- 不能直接通过ID获取用户角色。
- 您可以获得分配给用户的所有角色。
让我们获取所有角色,并检查您感兴趣的角色是否存在或现在。
<?php
// Get the user object.
$user = get_userdata( $user_id );
// Get all the user roles as an array.
$user_roles = $user->roles;
// Check if the role you're interested in, is present in the array.
if ( in_array( 'subscriber', $user_roles, true ) ) {
// Do something.
echo 'YES, User is a subscriber';
}
$user_meta = get_userdata($user_id);
$user_roles = $user_meta->roles;
if ( in_array( 'administrator', $user_roles, true ) ) {
//echo User is a administrator';
}
你好试试这个最佳代码
if (get_userdata($post->post_author)->roles[0] == 'your_specified_role'){
echo 'role exist';
}else{
echo 'role does not exist';
}