WP_MS_Users_List_Table::prepare_items() –

You appear to be a bot. Output may be restricted

Description

Usage

WP_MS_Users_List_Table::prepare_items();

Parameters

Returns

void

Source

File name: wordpress/wp-admin/includes/class-wp-ms-users-list-table.php
Lines:

1 to 77 of 77
  public function prepare_items() {
    global $mode, $usersearch, $role;

    if ( ! empty( $_REQUEST['mode'] ) ) {
      $mode = 'excerpt' === $_REQUEST['mode'] ? 'excerpt' : 'list';
      set_user_setting( 'network_users_list_mode', $mode );
    } else {
      $mode = get_user_setting( 'network_users_list_mode', 'list' );
    }

    $usersearch = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : '';

    $users_per_page = $this->get_items_per_page( 'users_network_per_page' );

    $role = isset( $_REQUEST['role'] ) ? $_REQUEST['role'] : '';

    $paged = $this->get_pagenum();

    $args = array(
      'number'  => $users_per_page,
      'offset'  => ( $paged - 1 ) * $users_per_page,
      'search'  => $usersearch,
      'blog_id' => 0,
      'fields'  => 'all_with_meta',
    );

    if ( wp_is_large_network( 'users' ) ) {
      $args['search'] = ltrim( $args['search'], '*' );
    } elseif ( '' !== $args['search'] ) {
      $args['search'] = trim( $args['search'], '*' );
      $args['search'] = '*' . $args['search'] . '*';
    }

    if ( 'super' === $role ) {
      $args['login__in'] = get_super_admins();
    }

    /*
		 * If the network is large and a search is not being performed,
		 * show only the latest users with no paging in order to avoid
		 * expensive count queries.
		 */
    if ( ! $usersearch && wp_is_large_network( 'users' ) ) {
      if ( ! isset( $_REQUEST['orderby'] ) ) {
        $_GET['orderby']     = 'id';
        $_REQUEST['orderby'] = 'id';
      }
      if ( ! isset( $_REQUEST['order'] ) ) {
        $_GET['order']     = 'DESC';
        $_REQUEST['order'] = 'DESC';
      }
      $args['count_total'] = false;
    }

    if ( isset( $_REQUEST['orderby'] ) ) {
      $args['orderby'] = $_REQUEST['orderby'];
    }

    if ( isset( $_REQUEST['order'] ) ) {
      $args['order'] = $_REQUEST['order'];
    }

    
/** This filter is documented in wp-admin/includes/class-wp-users-list-table.php */
    $args = apply_filters( 'users_list_table_query_args', $args );

    // Query the user IDs for this page.
    $wp_user_search = new WP_User_Query( $args );

    $this->items = $wp_user_search->get_results();

    $this->set_pagination_args(
      array(
        'total_items' => $wp_user_search->get_total(),
        'per_page'    => $users_per_page,
      )
    );
  }
 

 View on GitHub View on Trac