wp_remote_retrieve_response_message()
Отримує повідомлення відповіді з надісланого об’єкта відповіді.
Хуків немає.
Повертає
Строку
. Повідомлення відповіді або порожній рядок, якщо передано неправильний об’єкт відповіді.
Використання
wp_remote_retrieve_response_message( $response );
-
$response
(масив) (обов’язковий) -
Об’єкт відповіді, отриманий за допомогою однієї з функцій:
wp_remote_get() ,
wp_remote_post() ,
wp_remote_head() або
wp_remote_request() .
Приклади
#1 Демонстрація роботи функції
$res = wp_remote_get('http://wp-kama.ru'); echo wp_remote_retrieve_response_message( $res ); //> OK $res = wp_remote_get('http://wp-kama.ru/error404'); echo wp_remote_retrieve_response_message( $res ); //> Not Found
#2 Отримаємо інформацію про фільм з Кінопошуку
Цей приклад показує, як отримати інформацію про фільм із сайту Kinopoisk та перевірити запит на помилки:
/** * Отримаємо інформацію про фільм із сайту Kinopoisk * Працює на базі сервісу http://docs.kinopoiskapi.apiary.io/. * * @param int $id ID фільму на сайті * @return string|WP_Error Отримує тіло відповіді, у разі успіху та об'єкт WP_Error при невдачі */ function kinopoisk_get_movie( $id ) { // Параметри GET запиту $params = array( 'filmID' => absint( $id ), ); // Створимо URL з параметрами $url = 'http://api.kinopoisk.cf/getFilm'; $url = add_query_arg( $params, esc_url_raw($url) ); // Запит $ Response = wp_remote_get ($ Url); // Перевіряємо код відповіді $response_code = wp_remote_retrieve_response_code($response); $response_message = wp_remote_retrieve_response_message( $response ); $response_body = json_decode(wp_remote_retrieve_body( $response )); if ( 200 != $response_code && ! empty( $response_message ) ) return new WP_Error( $response_code, $response_message ); elseif ( 200 != $response_code ) return new WP_Error( $response_code, 'Невідома помилка'); elseif(! $response_body) return new WP_Error( 'nodata', 'Немає даних про фільм або такого фільму немає в базі' ); else return $response_body; } // Запит $res = kinopoisk_get_movie(714888); // Виводимо помилку чи інформацію if ( is_wp_error( $res ) ) { echo 'Помилка запиту на IMDB: '. wp_strip_all_tags( $res->get_error_message() ); } else { echo 'Фільм: "' . esc_html( $res->nameRU ) .'" ('. (int) $res->year .' рік). Рейтинг: '. $res->ratingData->rating; } // у результаті отримаємо: // Фільм: "Зоряні війни: Пробудження сили" (2015). Рейтинг: 7.3
список змін
З версії 2.7.0 | Введено. |
Код wp_remote_retrieve_response_message() wp remote retrieve response message WP 6.0.2
function wp_remote_retrieve_response_message( $response ) { if ( is_wp_error( $response ) || ! isset( $response['response'] ) || ! is_array( $response['response'] ) ) { return ''; } return $response['response']['message']; }