我在使用WP REST API V2时遇到问题。我有两个使用不同网址的博客,我想从一个博客中加载博客文章,并在第二个博客中显示它们。我认为使用WP REST API将是一个好主意。
对于第一个博客,如果我打开这样的网址:
http://blog.example-a.de/wp-json/wp/v2/posts
我以json格式获取所有帖子。
在第二个博客(我们称其为blog.example-b.de)上,我创建了一个页面模板文件,以通过上面的URL从第一个博客中加载博客文章。在搜索了一段时间示例并阅读了文档之后,最短的解决方案似乎是这样的:
$request = WP_REST_Request::from_url('http://blog.example-a.de/wp-json/wp/v2/posts');
$response = rest_do_request( $request );
$response = $wp_rest_server->response_to_data($body, true);
但是当我这样做时,我得到一个错误:
array(3){[“” code“] =>字符串(13)” rest_no_route“ [” message“] =>字符串(85)”未找到与URL和请求方法匹配的路由“ [[data]] => array(1){[“状态”] => int(404)}}
现在我对此有些困惑。当我直接在浏览器中而不是从脚本中调用url时,我不知道为什么会起作用...
我尝试了另一种从API提取数据的方法:
$request = wp_remote_get( 'http://blog.example-a.de/wp-json/wp/v2/posts' );
$body = wp_remote_retrieve_body( $request );
$data = json_decode( $body );
这令人惊讶。 编辑:这确实给了我一些数据,但是没有提供我需要的格式的数据。
我很确定一定有我想念的东西,也许周围的人有一个主意?
谢谢!