- Learning WordPress REST API
- Sufyan bin Uzayr
- 329字
- 2021-07-14 11:00:49
HTTP API in WordPress
As the name suggests, in WordPress, the HTTP API can be used to simplify HTTP requests. It can let you make HTTP requests via PHP, either to the same site or to a different site. But more importantly, HTTP API in WordPress lets you transform URL strings into JSON objects.
Consider the following URL string: http://example.com/wp-json/wp/v2/posts
.
It is like any other URL on the Internet. Now, with HTTP API, we can convert it into a JSON object, making use of the wp_remote_get ()
function from the WordPress core:
$json = wp_remote_get ( 'http://example.com/wp-json/wp/v2/posts' );
Now, $json
will yield an array, and that is precisely the response that we need.
To understand it better, let us now put together a very small function that accepts a URL string and then gives an array of post objects:
$response = wp_remote_get( $url ); function get_json( $url ) { //GET remote site $response = wp_remote_get( $url ); //Checking for errors if ( is_wp_error( $response ) ) { return sprintf( 'Your URL %1s could not be retrieved', $url ); //GET only body $data = wp_remote_retrieve_body( $response ); } //return if no error if ( ! is_wp_error( $response ) ) { //Now, decode and return return json_decode( $response ); } }
What does the preceding code do? It makes a GET request and loads the URL string. To be sure that we are doing everything alright, we check whether our parameter is part of the WP_Error
class or not because if it is, we have encountered an error. And if it is not, we can proceed with the JSON object.
Now, to test the preceding function, you can just pass any URL string for $url
. Why not give it a shot and pass the URL to your test installation of WordPress, whatever it might be?
Ideally, the following is what your output should look like; it is pretty raw, but for a test code, this should show you that it works:

- 深入核心的敏捷開發:ThoughtWorks五大關鍵實踐
- C++面向對象程序設計(微課版)
- BeagleBone Media Center
- SQL語言從入門到精通
- Full-Stack Vue.js 2 and Laravel 5
- 基于Swift語言的iOS App 商業實戰教程
- VMware虛擬化技術
- QGIS By Example
- Express Web Application Development
- Webpack實戰:入門、進階與調優
- Web前端應用開發技術
- 自學Python:編程基礎、科學計算及數據分析(第2版)
- Building Slack Bots
- 深入淺出 HTTPS:從原理到實戰
- 少年小魚的魔法之旅:神奇的Python