X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/7f1521bf193b382565eb753043c161f4cb3fcda7..16e7b37c7914d753890c1a05a9335f3b43751eb8:/wp-admin/includes/class-wp-users-list-table.php
diff --git a/wp-admin/includes/class-wp-users-list-table.php b/wp-admin/includes/class-wp-users-list-table.php
index 50067363..3b7795df 100644
--- a/wp-admin/includes/class-wp-users-list-table.php
+++ b/wp-admin/includes/class-wp-users-list-table.php
@@ -1,12 +1,19 @@
isset( $args['screen'] ) ? $args['screen'] : null,
) );
- $this->is_site_users = 'site-users-network' == $this->screen->id;
+ $this->is_site_users = 'site-users-network' === $this->screen->id;
if ( $this->is_site_users )
$this->site_id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
@@ -56,6 +63,8 @@ class WP_Users_List_Table extends WP_List_Table {
*
* @since 3.1.0
* @access public
+ *
+ * @return bool
*/
public function ajax_user_can() {
if ( $this->is_site_users )
@@ -69,6 +78,9 @@ class WP_Users_List_Table extends WP_List_Table {
*
* @since 3.1.0
* @access public
+ *
+ * @global string $role
+ * @global string $usersearch
*/
public function prepare_items() {
global $role, $usersearch;
@@ -82,13 +94,23 @@ class WP_Users_List_Table extends WP_List_Table {
$paged = $this->get_pagenum();
- $args = array(
- 'number' => $users_per_page,
- 'offset' => ( $paged-1 ) * $users_per_page,
- 'role' => $role,
- 'search' => $usersearch,
- 'fields' => 'all_with_meta'
- );
+ if ( 'none' === $role ) {
+ $args = array(
+ 'number' => $users_per_page,
+ 'offset' => ( $paged-1 ) * $users_per_page,
+ 'include' => wp_get_users_with_no_role(),
+ 'search' => $usersearch,
+ 'fields' => 'all_with_meta'
+ );
+ } else {
+ $args = array(
+ 'number' => $users_per_page,
+ 'offset' => ( $paged-1 ) * $users_per_page,
+ 'role' => $role,
+ 'search' => $usersearch,
+ 'fields' => 'all_with_meta'
+ );
+ }
if ( '' !== $args['search'] )
$args['search'] = '*' . $args['search'] . '*';
@@ -102,6 +124,16 @@ class WP_Users_List_Table extends WP_List_Table {
if ( isset( $_REQUEST['order'] ) )
$args['order'] = $_REQUEST['order'];
+ /**
+ * Filters the query arguments used to retrieve users for the current users list table.
+ *
+ * @since 4.4.0
+ *
+ * @param array $args Arguments passed to WP_User_Query to retrieve items for the current
+ * users list table.
+ */
+ $args = apply_filters( 'users_list_table_query_args', $args );
+
// Query the user IDs for this page
$wp_user_search = new WP_User_Query( $args );
@@ -128,15 +160,19 @@ class WP_Users_List_Table extends WP_List_Table {
* with this table.
*
* Provides a list of roles and user count for that role for easy
- * filtering of the user table.
+ * Filtersing of the user table.
*
* @since 3.1.0
* @access protected
*
+ * @global string $role
+ *
* @return array An array of HTML links, one for each view.
*/
protected function get_views() {
- global $wp_roles, $role;
+ global $role;
+
+ $wp_roles = wp_roles();
if ( $this->is_site_users ) {
$url = 'site-users.php?id=' . $this->site_id;
@@ -147,6 +183,7 @@ class WP_Users_List_Table extends WP_List_Table {
$url = 'users.php';
$users_of_blog = count_users();
}
+
$total_users = $users_of_blog['total_users'];
$avail_roles =& $users_of_blog['avail_roles'];
unset($users_of_blog);
@@ -160,7 +197,7 @@ class WP_Users_List_Table extends WP_List_Table {
$class = '';
- if ( $this_role == $role ) {
+ if ( $this_role === $role ) {
$class = ' class="current"';
}
@@ -170,6 +207,21 @@ class WP_Users_List_Table extends WP_List_Table {
$role_links[$this_role] = "$name";
}
+ if ( ! empty( $avail_roles['none' ] ) ) {
+
+ $class = '';
+
+ if ( 'none' === $role ) {
+ $class = ' class="current"';
+ }
+
+ $name = __( 'No role' );
+ /* translators: User role name with count */
+ $name = sprintf( __('%1$s (%2$s)'), $name, number_format_i18n( $avail_roles['none' ] ) );
+ $role_links['none'] = "$name";
+
+ }
+
return $role_links;
}
@@ -205,18 +257,17 @@ class WP_Users_List_Table extends WP_List_Table {
* or below the table ("bottom").
*/
protected function extra_tablenav( $which ) {
- if ( 'top' != $which )
- return;
+ $id = 'bottom' === $which ? 'new_role2' : 'new_role';
?>
-
-
-