WordPress как на ладони
WordPress темы и плагины за 250 рублей wordpress jino

users_list_table_query_args хук-фильтр . WP 4.4.0

Фильтрует аргументы запроса, используемые для получения пользователей в таблице списка пользователей в админке.

Использование

add_filter( 'users_list_table_query_args', 'filter_function_name_9946' );
function filter_function_name_9946( $args ){
	// filter...

	return $args;
}
$args(массив)
Аргументы, передаваемые классу WP_User_Query::prepare_query, который получает пользователей для текущей таблицы списка пользователей.

Примеры

#1 Изменяем сортировку в таблице

add_action( 'users_list_table_query_args', function ( $args ) {
	// Сортировка по дате регистрации
	$args['orderby'] = empty( $_REQUEST['orderby'] ) ? 'registered' : $_REQUEST['orderby'];
	// DESC - список начинать с новых пользователей
	$args['order'] = empty( $_REQUEST['order'] ) ? 'DESC' : $_REQUEST['order'];

	return $args;
} );

Где используется хук

Код хука-фильтра users_list_table_query_args

Фрагмент из: wp-admin/includes/class-wp-users-list-table.php VER 4.9.6
...

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

		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 );

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

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

	/**
	 * Output 'no users' message.
	 *
...
Фрагмент из: wp-admin/includes/class-wp-ms-users-list-table.php VER 4.9.6
...

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

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

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

		/** 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,
		) );
	}

	/**
	 *
	 * @return array
...
campusboy 2795youtube.com/c/wpplus
Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться