Wordpress REST Api请求可直接调用,但不能通过脚本访问

时间:2019-01-10 18:05:00

标签: php wordpress rest

我在使用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 );

这令人惊讶。 编辑:这确实给了我一些数据,但是没有提供我需要的格式的数据。

我很确定一定有我想念的东西,也许周围的人有一个主意?

谢谢!

0 个答案:

没有答案