WP_Users_List_Table::get_views() WordPress Method
The WP_Users_List_Table::get_views() method is used to generate the views for the Users list table. This includes the "All", "Administrators", "Authors", "Contributors", and "Subscribers" view. The method uses the global $role_names variable to generate the views.
WP_Users_List_Table::get_views() #
Return an associative array listing all the views that can be used with this table.
Description
Provides a list of roles and user count for that role for easy Filtersing of the user table.
Return
(string[]) An array of HTML links keyed by their view.
Source
File: wp-admin/includes/class-wp-users-list-table.php
protected function get_views() { global $role; $wp_roles = wp_roles(); $count_users = ! wp_is_large_user_count(); if ( $this->is_site_users ) { $url = 'site-users.php?id=' . $this->site_id; } else { $url = 'users.php'; } $role_links = array(); $avail_roles = array(); $all_text = __( 'All' ); $current_link_attributes = empty( $role ) ? ' class="current" aria-current="page"' : ''; if ( $count_users ) { if ( $this->is_site_users ) { switch_to_blog( $this->site_id ); $users_of_blog = count_users( 'time', $this->site_id ); restore_current_blog(); } else { $users_of_blog = count_users(); } $total_users = $users_of_blog['total_users']; $avail_roles =& $users_of_blog['avail_roles']; unset( $users_of_blog ); $all_text = sprintf( /* translators: %s: Number of users. */ _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_users, 'users' ), number_format_i18n( $total_users ) ); } $role_links['all'] = sprintf( '<a href="%s"%s>%s</a>', $url, $current_link_attributes, $all_text ); foreach ( $wp_roles->get_names() as $this_role => $name ) { if ( $count_users && ! isset( $avail_roles[ $this_role ] ) ) { continue; } $current_link_attributes = ''; if ( $this_role === $role ) { $current_link_attributes = ' class="current" aria-current="page"'; } $name = translate_user_role( $name ); if ( $count_users ) { $name = sprintf( /* translators: 1: User role name, 2: Number of users. */ __( '%1$s <span class="count">(%2$s)</span>' ), $name, number_format_i18n( $avail_roles[ $this_role ] ) ); } $role_links[ $this_role ] = "<a href='" . esc_url( add_query_arg( 'role', $this_role, $url ) ) . "'$current_link_attributes>$name</a>"; } if ( ! empty( $avail_roles['none'] ) ) { $current_link_attributes = ''; if ( 'none' === $role ) { $current_link_attributes = ' class="current" aria-current="page"'; } $name = __( 'No role' ); $name = sprintf( /* translators: 1: User role name, 2: Number of users. */ __( '%1$s <span class="count">(%2$s)</span>' ), $name, number_format_i18n( $avail_roles['none'] ) ); $role_links['none'] = "<a href='" . esc_url( add_query_arg( 'role', 'none', $url ) ) . "'$current_link_attributes>$name</a>"; } return $role_links; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
3.1.0 | Introduced. |