[워드프레스] 역할(회원 등급)별 사용자 수를 세는 방법

워드프레스에서 count_users() 함수는 각 역할(회원 등급)에 속한 사용자 수와 전체 사용자 수를 반환합니다. count_users()에 대한 자세한 내용은 WordPress Codex 페이지에서 확인할 수 있습니다.

Codex 페이지에 나온 예제인 다음 코드를 사용하면 모든 사용자의 수와 각 역할별 사용자 수를 출력할 수 있습니다.

<?php
$result = count_users();
echo 'There are ', $result['total_users'], ' total users'; // 총 사용자 수
foreach($result['avail_roles'] as $role => $count)
    echo ', ', $count, ' are ', $role, 's'; // 개별 역할별 사용자 수
echo '.';
?>

그러면 다음과 비슷한 결과가 반환됩니다.

There are 200 total users, 2 are administrators, 4 are contributors.

특정 역할(예: 글쓴이, 구독자, 관리자)의 인원만 확인하고 싶다면 다음과 같은 다음 코드를 응용할 수 있습니다.

<?php
$result = count_users();
$show = array('subscriber', 'administrator'); // 역할 이름
echo 'We currently have:'; // 영문 부분을 적절히 수정
foreach($result['avail_roles'] as $role => $count){
if( in_array($role, $show)) {
echo '
', $count, ' ' , $role, 's'; // 's'는 복수형 어미. 한글에서는 불필요
}
}
?>
// Source: wordpress.org support

그리고 다음과 같은 코드를 응용할 수 있습니다.

// 모든 Author 역할의 사용자를 가져옴.
$user_query = new WP_User_Query( array( 'role' => 'Author' ) );
// 현재 쿼리에 대한 총 사용자 수를 가져옴. I use (int) only for sanitize.
$users_count = (int) $user_query->get_total();
// 문자열과 값 Echo
echo 'So much authors: ' . $users_count;
// Source: stackexchange

그러면 Author(글쓴이) 역할에 해당하는 사용자의 총 인원수를 반환합니다.  또는 다음과 같이 get_users()를 사용하는 것도 가능하다고 하네요.

$users_count = count( get_users( array( 'fields' => array( 'ID' ), 'role' => 'author' ) ) );

get_users()에 대한 자세하 내용은 여기를 참고해보시기 바랍니다.

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

* 이메일 정보는 공개되지 않습니다.