WordPress как на ладони
5 премиум тем, 7 плагинов, 4 лендинга и 45 дизайнерских блоков для WordPress с 96% скидкой. От TemplateMonster.com 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.8
...

		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.8
...

		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 2986youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться