有时您可能希望向远程/外部Api发出请求以获取一些数据。也许您想在博客上显示最新的微博内容,或者您想从其他WordPress网站获取最新的文章。对于这些情况,WordPress具有* do_remote_get.

*

* Make a get request to a remote api,

*

* @see https://since1979.dev/snippet-007-get-and-post-to-remote-api-with-php/

*

* @uses wp_remote_get() https://developer.wordpress.org/reference/functions/wp_remote_get/

* @uses json_decode() https://www.php.net/manual/en/function.json-decode.php

* @uses wp_remote_retrieve_body() https://developer.wordpress.org/reference/functions/wp_remote_retrieve_body/

*

* @param String $url The url/endpoint to call

* @return Array

*/ * do_remote_post.

*

* Make a post request to a remote api,

*

* @see https://since1979.dev/snippet-007-get-and-post-to-remote-api-with-php/

*

* @uses wp_remote_post() https://developer.wordpress.org/reference/functions/wp_remote_post/

* @uses json_decode() https://www.php.net/manual/en/function.json-decode.php

* @uses wp_remote_retrieve_body() https://developer.wordpress.org/reference/functions/wp_remote_retrieve_body/

*

* @param String $url The url/endpoint to call

* @param Array $data The data to send

* @return Array

*/

\'bar\'

]

)

;

var_dump

(

$response

)

;

在这里,我们使用

do_remote_post

函数向JSONPlaceholder Api发出发布请求,并向其传递网址/端点和代表我们要创建的发布的数组。

最后,我们使用

var_dump

打印来自Api的响应。JSONPlaceholder Api将仅返回我们创建的文章的Json对象。

注意:

 Api请求需要花费一些时间才能解决,因此最好将其缓存以加快页面加载速度。建议使用WordPress瞬态来缓存Api请求结果 。

以上内容出自: https://since1979.dev/snippet-007-get-and-post-to-remote-api-with-php/ ,由 WordPress大学 翻译整理。

拓展阅读

《 WordPress HTTP API 指南 》:本系列将详细讲解 WordPress HTTP API,涉及到常见的原创获取数据 wp_remote_get 和远程提交数据 wp_remote_post 等功能。