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.5.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']; }