当前位置: 首页 > 知识库问答 >
问题:

从WP REST API返回图像

欧渝
2023-03-14

我正在尝试使用wp rest api返回一个博客帖子列表,包括标题、摘录和特色图片。使用下面的方法,我可以返回标题和摘录,但特征图像会导致致命错误:无法将stdClass类型的对象用作数组。

有人能告诉我我做错了什么吗?

$posts = json_decode(file_get_contents('https://wordpressurl/wp-json/wp/v2/posts?_embed'));

foreach ( $posts as $post ) 
{
    echo '<a href="'.$post->link.'">
            <img src="'.$post->_embedded['wp:featuredmedia']['0'].source_url.'"/> 
            '.$post->title->rendered, $post->excerpt->rendered.'</a>';
};

共有2个答案

王岳
2023-03-14

使用这种类型的代码

$posts = json_decode(file_get_contents('http://localhost/sikkimpwd-apis/wp-json/wp/v2/posts?_embed'));
foreach ( $posts as $post ) {
    //get attached image id
    $attach_id = get_post_thumbnail_id($post->id );
    //get image src from attached id
    $image_src = wp_get_attachment_image_src($attach_id,'full')[0];
    echo '<a href="'.$post->link.'"><img src="'.$image_src.'"/> '.$post->title->rendered, $post->excerpt->rendered.'</a>';
};
万俟皓
2023-03-14

我自己用以下方法解决了这个问题:

$posts = json_decode(file_get_contents('http://wordpressurl/wp-json/wp/v2/posts?_embed'), true);
    foreach ( $posts as $post ) {
    echo '<a href="'.$post[link].'">
        <img src="'.$post[_embedded]['wp:featuredmedia']['0'][source_url].'"/> 
        '.$post[title][rendered], $post[excerpt][rendered].'</a>';
};

true添加到json_decode返回数组而不是对象。

我肯定有一个更干净的方法,但现在我很高兴它能起作用。

 类似资料:
  • 问题内容: 我有一个函数,可使用Pandas分析CSV文件并生成带有摘要信息的字典。我想从Flask视图返回结果作为响应。如何返回JSON响应? 问题答案: 将摘要数据传递给该函数,该函数返回JSON响应。 从Flask 0.11开始,你可以将任何JSON可序列化的类型(不仅是dict)传递为顶级对象。

  • 问题内容: 在我的控制器中,我调用返回承诺的服务 在我的服务中,我通过直接将url传递给图像本身来获取图像: 所有调用都成功,并且response.data似乎保存在以下图像中: 虽然我不确定它是否确实可以,因为我无法显示它。我已经尝试过(在index.html内部) 有想法吗?是否可以从$ http.get返回实际图像并将其响应转换回图像(jpeg等) 谢谢! 问题答案: 返回的图像采用二进制编

  • 我已经开发了一个应用程序来拍摄一张照片并保存在画廊里。我在网上搜索过,我能练习的最简单的方法就是使用。下面是从相机上拍照的代码。注意,我在这个类中使用的是fragment。 获取捕获的图像并将其转换为字符串 我将字符串保存到全局变量中,以便其他活动可以访问它。在另一个活动中,我有一个按钮,通过访问图像字符串将图像保存到文件夹/图库中。 它可以将图像保存到文件夹/图库中......但是图像质量很低.

  • 问题内容: 我有一个函数,可使用Pandas分析CSV文件并生成带有摘要信息的字典。我想从Flask视图返回结果作为响应。如何返回JSON响应? 问题答案: 将摘要数据传递给该函数,该函数返回JSON响应。 从Flask 0.11开始,你可以将任何可序列化的类型(不仅是dict)传递为顶级对象。

  • 问题内容: 如何从作为Tkinter回调执行的函数中获取返回的对象? 显然,这是一个简化的示例。实际上,按钮调用的函数将返回对象,我希望将这些对象附加到将保留在主Python名称空间中的对象列表中,以进行进一步的操作。 无论如何,在这里用户可以使用GUI选择该函数的自变量,然后按下将执行该函数的按钮。但是,该函数的返回值似乎注定会丢失给以太,因为回调函数将不接受返回值。在不使用丑陋的定义的情况下可

  • 问题内容: 这是一个非常基本的请求-响应测试。浏览器使用jQuery $ .ajax API将“来自浏览器的hello”发送到servlet,然后servlet接收此消息,然后使用org.json.simple库创建一个JSON对象,并将带有消息“ hello from server”的JSON响应发送回浏览器。 我在本地主机上运行它,只是假设我的IP地址是123.123.12.123,平台是Ub