ACF_Updates::request()publicACF 5.5.10

request

Makes a request to the ACF connect server.

Метод класса: ACF_Updates{}

Хуков нет.

Возвращает

(Массив|Строку|WP_Error).

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

$ACF_Updates = new ACF_Updates();
$ACF_Updates->request( $endpoint, $body );
$endpoint(строка)
The API endpoint.
По умолчанию: ''
$body(массив)
The body to post.
По умолчанию: null

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

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

Код ACF_Updates::request() ACF 6.0.4

function request( $endpoint = '', $body = null ) {

	// Determine URL.
	$url = "https://connect.advancedcustomfields.com/$endpoint";

	// Staging environment.
	if ( defined( 'ACF_DEV_API' ) && ACF_DEV_API ) {
		$url = trailingslashit( ACF_DEV_API ) . $endpoint;
		acf_log( $url, $body );
	}

	// Make request.
	$raw_response = wp_remote_post(
		$url,
		array(
			'timeout' => 10,
			'body'    => $body,
		)
	);

	// Handle response error.
	if ( is_wp_error( $raw_response ) ) {
		return $raw_response;

		// Handle http error.
	} elseif ( wp_remote_retrieve_response_code( $raw_response ) != 200 ) {
		return new WP_Error( 'server_error', wp_remote_retrieve_response_message( $raw_response ) );
	}

	// Decode JSON response.
	$json = json_decode( wp_remote_retrieve_body( $raw_response ), true );

	// Allow non json value.
	if ( $json === null ) {
		return wp_remote_retrieve_body( $raw_response );
	}

	// return
	return $json;
}