Simple Function Using wp_remote_get()
by Bandicoot Marketing on | Posted in Tutorials | 27 comments
There isn’t a good amount of information on wp_remote_get() in the codex. Take a look to see what I mean:
https://codex.wordpress.org/Function_Reference/wp_remote_get
After you’ve used the function, the information it returns also has to be formatted in a certain way or you won’t be able to do anything with it.
wp_remote_get() Basics
Let’s start with a simple function:
$response = wp_remote_get( 'http://yoursite.com/api/somecallhere' );
if ( is_wp_error( $response ) ) {
echo 'There be errors, yo!';
} else {
echo 'It worked!';
}
With this function, we’re using wp_remote_get() to retrieve our URL. If there’s an error, we display the first sentence. If it worked, we display the second sentence.
Not much value in that so we need a few more lines of code.
What Comes Next?
Once we retrieve data from the URL, we need to format it correctly.
$response = wp_remote_get( 'http://yoursite.com/api/somecallhere' );
if ( is_wp_error( $response ) ) {
echo 'There be errors, yo!';
} else {
$body = wp_remote_retrieve_body( $response );
$data = json_decode( $body );
}
if ( $data->Data ) {
echo 'We got data, yo!';
}
After we retrieve our data, we use wp_remote_retrieve_body() and json_decode() to process it and get what we need.
We can even go one step further and display our data.
$response = wp_remote_get( 'http://yoursite.com/api/somecallhere' );
if ( is_wp_error( $response ) ) {
echo 'There be errors, yo!';
} else {
$body = wp_remote_retrieve_body( $response );
$data = json_decode( $body );
}
if ( $data->Data ) {
print_r( $data->Data );
}
This we’ll display the array of data that was returned.
Conclussion
When you need to hook into an API or retrieve data from a URL, wp_remote_get() is the function you need. Just remember that you’ll also have to take a few more steps in order to get to the actual data you want.
If you have any questions or feedback on this post, please use the comments below to start a discussion.

27 comments for “Simple Function Using wp_remote_get()”