워드프레스에서 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()에 대한 자세하 내용은 여기를 참고해보시기 바랍니다.
댓글 남기기