Using count_users to get the number of users in WordPress

The WordPress function count_users() is primarily used for retrieving the total number of users for the site. It provides a comprehensive count of all the users registered within a WordPress installation, irrespective of their roles. The function can also differentiate between different user roles, such as administrator, editor, author, contributor, and subscriber, and provide a count for each role separately.

This function can be beneficial for administrators and developers who need to keep track of the user count on their WordPress site. It can serve various administrative purposes, like monitoring user growth, analyzing user role distribution, or managing user-related tasks.

It is important to note that the count_users() function does not provide any user-specific data or details, it merely returns the count of users based on their roles.

Parameters Accepted by the count_users Function in WordPress

The count_users function in WordPress accepts two parameters. Both parameters are optional.

  • $strategy (string): This parameter specifies the computational strategy that the function will use to count the users. It can be either ‘time’ or ‘memory’. If not specified, the default value is ‘time’. This means that the function will use a time-based strategy to count the users.
  • $site_id (int|null): This parameter represents the ID of the site for which the function will count the users. If not specified, the function will count the users for the current site.

Return Value of the count_users Function in WordPress

The count_users function in WordPress returns an array that contains user counts. The array includes the following:

  • total_users (int): This represents the total number of users on the site.
  • avail_roles (int[]): This is an array of user counts, where each user role is a key.

If the function does not receive any parameters, it will count the users for the current site using a time-based strategy.

Examples

How to Count Total Users in WordPress

<?php
$result = count_users();
echo '<p>Total Users: ' . $result['total_users'] . '</p>';
?>

This code snippet uses the count_users function to count the total number of users on the WordPress site. It then echoes the result in a paragraph tag.

How to Count Users by Role in WordPress

<?php
$result = count_users();
foreach($result['avail_roles'] as $role => $count) {
 echo '<p>There are ' . $count . ' users with the ' . $role . ' role.</p>';
}
?>

This code snippet uses the count_users function to get an array of user counts keyed by user role. It then loops through the array and echoes the count and role in a paragraph tag.

How to Count Users for a Specific Site in WordPress Multisite

<?php
$site_id = 2; // replace with your site id
$result = count_users('time', $site_id);
echo '<p>Total Users for site ' . $site_id . ': ' . $result['total_users'] . '</p>';
?>

This code snippet uses the count_users function to count the total number of users for a specific site in a WordPress multisite setup. It then echoes the result in a paragraph tag. You need to replace $site_id with your site id.

Conclusion

The count_users function in WordPress is a tool that retrieves and provides information about the number of users for a particular WordPress installation. It is typically used when there is a need to display or analyze the number of users in different roles within a WordPress website. This function can be particularly useful in scenarios where understanding the user distribution across different roles is necessary, such as in the management of user permissions, or in the analysis of user engagement on a site. It’s important to note that the count_users function only provides a count of users, and does not provide any specific user data or details.

Related WordPress Functions