wp_remote_post( string $url, array $args = array() )
Performs an HTTP request using the POST method and returns its response.
Contents
Description
See also
- wp_remote_request(): For more information on the response array format.
- WP_Http::request(): For default arguments information.
Parameters
- $url
-
(string) (Required) URL to retrieve.
- $args
-
(array) (Optional) Request arguments.
Default value: array()
Return
Source
File: wp-includes/http.php
function wp_remote_post( $url, $args = array() ) { $http = _wp_http_get_object(); return $http->post( $url, $args ); }
Expand full source code Collapse full source code View on Trac View on GitHub
Changelog
Version | Description |
---|---|
2.7.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Post data should be sent in the body as an array. Example passing post data:
Expand full source codeCollapse full source code
In the example above,
$response['body']
will contain the actual page content returned by the server.Exemple of Basic Authentication:
An example of a JSON body:
Expand full source codeCollapse full source code
See also wp_safe_remote_post(), especially if you are using a dynamic URL call.
A couple notes I thought worth mentioning is that if you’re using a Wordpress API endpoint that requires authentication, you can pass the
_wpnonce
parameter along with the session cookies to properly authenticate, like so:Expand full source codeCollapse full source code
Note that I’m also using
wp_remote_post
to perform aGET
call in this example (by passing the ‘method’ argument), otherwise I could use the wp_remote_get function instead