ACF
Updater::request
Makes a request to the ACF connect server.
Метод класса: Updater{}
Хуков нет.
Возвращает
(Массив|Строку|WP_Error)
.
Использование
$Updater = new Updater(); $Updater->request( $endpoint, $body );
- $endpoint(строка)
- The API endpoint.
По умолчанию: '' - $body(массив)
- The body to post.
По умолчанию: null
Список изменений
С версии 5.5.10 | Введена. |
Код Updater::request() Updater::request ACF 6.4.2
public function request( $endpoint = '', $body = null ) { $site_url = acf_get_home_url(); if ( empty( $site_url ) || ! is_string( $site_url ) ) { $site_url = ''; } $headers = array( 'X-ACF-Version' => ACF_VERSION, 'X-ACF-URL' => $site_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 ); } // Determine URL. if ( acf_is_pro() ) { $license_key = acf_pro_get_license_key(); if ( empty( $license_key ) || ! is_string( $license_key ) ) { $license_key = ''; } $headers['X-ACF-License'] = $license_key; $headers['X-ACF-Plugin'] = 'pro'; } else { $headers['X-ACF-Plugin'] = 'acf'; } // Make request. $raw_response = wp_remote_post( $url, array( 'timeout' => 20, 'body' => $body, 'headers' => $headers, ) ); // 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 $json; }