WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru
функция не описана

WC_API_Customers::query_customers() private WC 2.1

Helper method to get customer user objects

Note that WP_User_Query does not have built-in pagination so limit & offset are used to provide limited pagination support

{} Это метод класса: WC_API_Customers{}

Хуков нет.

Возвращает

WP_User_Query.

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

// private - только в коде основоного (родительского) класса
$result = $this->query_customers( $args );
$args(массив)
request arguments for filtering query
По умолчанию: array()

Список изменений

С версии 2.1 Введена.

Код WC_API_Customers::query_customers() WC 5.7.1

private function query_customers( $args = array() ) {

	// default users per page
	$users_per_page = get_option( 'posts_per_page' );

	// set base query arguments
	$query_args = array(
		'fields'  => 'ID',
		'role'    => 'customer',
		'orderby' => 'registered',
		'number'  => $users_per_page,
	);

	// search
	if ( ! empty( $args['q'] ) ) {
		$query_args['search'] = $args['q'];
	}

	// limit number of users returned
	if ( ! empty( $args['limit'] ) ) {

		$query_args['number'] = absint( $args['limit'] );

		$users_per_page = absint( $args['limit'] );
	}

	// page
	$page = ( isset( $args['page'] ) ) ? absint( $args['page'] ) : 1;

	// offset
	if ( ! empty( $args['offset'] ) ) {
		$query_args['offset'] = absint( $args['offset'] );
	} else {
		$query_args['offset'] = $users_per_page * ( $page - 1 );
	}

	// created date
	if ( ! empty( $args['created_at_min'] ) ) {
		$this->created_at_min = $this->server->parse_datetime( $args['created_at_min'] );
	}

	if ( ! empty( $args['created_at_max'] ) ) {
		$this->created_at_max = $this->server->parse_datetime( $args['created_at_max'] );
	}

	$query = new WP_User_Query( $query_args );

	// helper members for pagination headers
	$query->total_pages = ceil( $query->get_total() / $users_per_page );
	$query->page = $page;

	return $query;
}