wp_remote_retrieve_response_message()
Retrieves the response message from the passed response object.
No Hooks.
Returns
String. Response message or an empty string if an incorrect response object was passed.
Usage
wp_remote_retrieve_response_message( $response );
- $response(array) (required)
- Response object, obtained using one of the functions: wp_remote_get(), wp_remote_post(), wp_remote_head() or wp_remote_request().
Examples
#1 Demo
$res = wp_remote_get('http://wp-kama.com');
echo wp_remote_retrieve_response_message( $res ); //> OK
$res = wp_remote_get('http://wp-kama.com/error404');
echo wp_remote_retrieve_response_message( $res ); //> Not Found #2 Get information about the film from Kinopoisk
This example shows how to retrieve movie information from the Kinopoisk site and check the request for errors:
/**
* Get information about the movie from Kinopoisk
* Powered by http://docs.kinopoiskapi.apiary.io/.
*
* @param int $id ID of the movie on the site
* @return string|WP_Error Gets response body if successful and WP_Error object if unsuccessful
*/
function kinopoisk_get_movie( $id ) {
// Parameters of GET request
$params = array(
'filmID' => absint( $id ),
);
// Create a URL with parameters
$url = 'http://api.kinopoisk.cf/getFilm';
$url = add_query_arg( $params, esc_url_raw($url) );
//request
$response = wp_remote_get( $url );
// Check answer code
$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 );
}
if ( 200 != $response_code ) {
return new WP_Error( $response_code, 'Unknown error' );
}
if( ! $response_body ) {
return new WP_Error( 'nodata', 'No data on the movie or no such movie in the database' );
}
return $response_body;
}
// Query
$res = kinopoisk_get_movie( 714888 );
// Output an error or information
if ( is_wp_error( $res ) ) {
echo 'IMDB query error: '. wp_strip_all_tags( $res->get_error_message() );
}
else {
echo 'Movie: "' . esc_html( $res->nameRU ) .' ('. (int) $res->year .'.) Rating: '. $res->ratingData->rating;
}
// as a result we get:
// Movie: "Star Wars: The Force Awakens" (2015). Rating: 7.3
Changelog
| Since 2.7.0 | Introduced. |
wp_remote_retrieve_response_message() wp remote retrieve response message code WP 6.8.3
function wp_remote_retrieve_response_message( $response ) {
if ( is_wp_error( $response ) || ! isset( $response['response'] ) || ! is_array( $response['response'] ) ) {
return '';
}
return $response['response']['message'];
}