Define custom headers when doing a POST request

How to define custom POST request headers before making the request on your WordPress site based on the URL.

function f4d_modify_http_request_args($parsed_args, $url){
    // Replace XXX with whatever URL you put inside the "Enter a custom form post URL" setting
    // For example if you are doing a post request to
    // replace XXX with that exact URL
        // Update headers, of course you can also alter other arguments if needed
        // Default arguments provided by WordPress:
        $parsed_args['headers'] = array(
            'Content-Type' => 'application/json; charset=utf-8',
            'ClientID' => 'xxx',
            'Authentication' => 'Basic & Base64 Encoded'
    return $parsed_args;
add_filter( 'http_request_args', 'f4d_modify_http_request_args', 10, 2 );

Last updated