Filter hook 'users_list_table_query_args'

in WP Core File wp-admin/includes/class-wp-ms-users-list-table.php at line 93

View Source

users_list_table_query_args

Filter Hook
Description
/ 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.

Hook Information

File Location wp-admin/includes/class-wp-ms-users-list-table.php View on GitHub
Hook Type Filter
Line Number 93

Hook Parameters

This hook doesn't accept any parameters.

Usage Examples

Basic Usage
<?php
// Hook into users_list_table_query_args
add_filter('users_list_table_query_args', 'my_custom_filter');

function my_custom_filter() {
    // Your custom filtering logic here
    return 'modified_value';
}

Source Code Context

wp-admin/includes/class-wp-ms-users-list-table.php:93 - How this hook is used in WordPress core
<?php
  88  		if ( isset( $_REQUEST['order'] ) ) {
  89  			$args['order'] = $_REQUEST['order'];
  90  		}
  91  
  92  		/** This filter is documented in wp-admin/includes/class-wp-users-list-table.php */
  93  		$args = apply_filters( 'users_list_table_query_args', $args );
  94  
  95  		// Query the user IDs for this page.
  96  		$wp_user_search = new WP_User_Query( $args );
  97  
  98  		$this->items = $wp_user_search->get_results();

PHP Documentation

<?php
/**
	 * @global string $mode       List table view mode.
	 * @global string $usersearch
	 * @global string $role
	 */
	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.
		 */
Quick Info
  • Hook Type: Filter
  • Parameters: 0
  • File: wp-admin/includes/class-wp-ms-users-list-table.php
Related Hooks

Related hooks will be displayed here in future updates.