WP_Community_Events::get_request_args( string $search = , string $timezone =  ): array

In this article

Builds an array of args to use in an HTTP request to the w.org Events API.

Parameters

$searchstringoptional
City search string.

Default:''

$timezonestringoptional
Timezone string.

Default:''

Return

array The request args.

Source

protected function get_request_args( $search = '', $timezone = '' ) {
	$args = array(
		'number' => 5, // Get more than three in case some get trimmed out.
		'ip'     => self::get_unsafe_client_ip(),
	);

	/*
	 * Include the minimal set of necessary arguments, in order to increase the
	 * chances of a cache-hit on the API side.
	 */
	if ( empty( $search ) && isset( $this->user_location['latitude'], $this->user_location['longitude'] ) ) {
		$args['latitude']  = $this->user_location['latitude'];
		$args['longitude'] = $this->user_location['longitude'];
	} else {
		$args['locale'] = get_user_locale( $this->user_id );

		if ( $timezone ) {
			$args['timezone'] = $timezone;
		}

		if ( $search ) {
			$args['location'] = $search;
		}
	}

	// Wrap the args in an array compatible with the second parameter of `wp_remote_get()`.
	return array(
		'body' => $args,
	);
}

Changelog

VersionDescription
4.8.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.