The http_response WordPress PHP Filter allows you to modify a successful HTTP API response before it is returned.
Usage
add_filter('http_response', 'your_function_name', 10, 3);
function your_function_name($response, $parsed_args, $url) {
// Your custom code here
return $response;
}
Parameters
$response(array) – The HTTP response.$parsed_args(array) – The HTTP request arguments.$url(string) – The request URL.
More information
See WordPress Developer Resources: http_response
Examples
Modify response headers
Add a custom header to the HTTP response.
add_filter('http_response', 'modify_response_headers', 10, 3);
function modify_response_headers($response, $parsed_args, $url) {
$response['headers']['X-Custom-Header'] = 'CustomHeaderValue';
return $response;
}
Log response data
Log the response data to a file for debugging purposes.
add_filter('http_response', 'log_response_data', 10, 3);
function log_response_data($response, $parsed_args, $url) {
error_log(print_r($response, true));
return $response;
}
Modify response body
Add a prefix to the response body.
add_filter('http_response', 'modify_response_body', 10, 3);
function modify_response_body($response, $parsed_args, $url) {
$response['body'] = 'Custom Prefix: ' . $response['body'];
return $response;
}
Change status code
Change the status code of the HTTP response.
add_filter('http_response', 'change_status_code', 10, 3);
function change_status_code($response, $parsed_args, $url) {
$response['response']['code'] = 202;
return $response;
}
Conditionally modify response
Modify the response only if the URL contains a specific string.
add_filter('http_response', 'conditionally_modify_response', 10, 3);
function conditionally_modify_response($response, $parsed_args, $url) {
if (strpos($url, 'example.com') !== false) {
$response['body'] = 'URL contains example.com';
}
return $response;
}
END