programing

WordPress ID로 사용자 역할 가져오기

goodsources 2023. 4. 6. 21:37
반응형

WordPress ID로 사용자 역할 가져오기

신분증만으로 어떻게든 누군가의 역할을 확인해야 해요.나는 그것을current_user_can()체크합니다만, 이것은 로그인한 사람만 사용할 수 있습니다.해당 사용자가 현재 사용자가 아닌 경우 어떻게 확인할 수 있습니까?전화 주문 시스템을 사용하고 있습니다만, 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';
}

안녕하세요 이 최적의 코드를 사용해 보세요.

if (get_userdata($post->post_author)->roles[0] == 'your_specified_role'){
   echo 'role exist';
}else{
   echo 'role does not exist';
}
$user_meta = get_userdata($user_id);
$user_roles = $user_meta->roles;

if ( in_array( 'administrator', $user_roles, true ) ) {
    //echo User is a administrator';
}

언급URL : https://stackoverflow.com/questions/36720949/get-user-role-by-id-wordpress

반응형