apply_filters( ‘pre_http_request’, false|array|WP_Error $response, array $parsed_args, string $url )

Filters the preemptive return value of an HTTP request.


Returning a non-false value from the filter will short-circuit the HTTP request and return early with that value. A filter should return one of:

  • An array containing ‘headers’, ‘body’, ‘response’, ‘cookies’, and ‘filename’ elements
  • A WP_Error instance
  • boolean false to avoid short-circuiting the response

Returning any other value may result in unexpected behavior.


A preemptive return value of an HTTP request. Default false.
HTTP request arguments.
The request URL.


$pre = apply_filters( 'pre_http_request', false, $parsed_args, $url );



User Contributed Notes

  1. Skip to note 2 content
    add_filter( 'pre_http_request', 'pass_or_reject_request', 10, 3 );
    function pass_or_reject_request( $preempt, $parsed_args, $url ){
    	// filter...
    	if( strpos($url, 'http(s)://') !==false ){
    		return new WP_Error( 'http_request_block', __( "This request is not allowed", "textdomain" ) );
    	return $preempt;

You must log in before being able to contribute a note or feedback.