wordpress - WP REST API 如何上传特色图片?

标签 wordpress rest

我正在使用 WP REST API 插件 V2 ( http://wp-api.org/ )。

API 可以上传特色图片并生成相关元数据吗?

我知道我可以上传图像附件(POST/wp-json/wp/v2/media),然后更新相关文章(PUT/wp-json/wp/v2/posts/ID)并使其成为“featured_image” "附件 ID 的关键点。

但是这是正确的方法吗?

上传后是否可以生成特色图像的不同(调整大小)版本,或者这是否需要自定义端点?

最佳答案

I know I can upload an image attachment (POST /wp-json/wp/v2/media) and then update the related article (PUT /wp-json/wp/v2/posts/ID) and make its "featured_image" key point to the attachment id. But is this the right way to do this?

据我所知,这就是要走的路。 WP API 文档在解释这一切方面“有点”简短。这其中涉及到相当多的挫败感,但最终这正是我让它发挥作用的方式。

因此,首先将媒体上传到端点 POST /wp-json/wp/v2/media ,具有以下 HTTP header 和文件内容作为数据:

            'CURLOPT_HTTPHEADER' => [
            'Content-type: application/json',
            'Authorization: Basic ' . $base64Credentials,
            'Content-Disposition: attachment; filename="acme.png"'
            ]

这里的问题是 Content-Disposition header 。 此调用应返回媒体 ID,您现在需要使用该 ID 来调用 POST /wp-json/wp/v2/posts/{$existingPostId}

相同的 header ,但没有 Content-Disposition 。 这次数据应该是 JSON 编码的 {"featured_media": 156}

(您不必直接使用 CURL。只需确保将 HTTP header 传递到请求中即可)

关于wordpress - WP REST API 如何上传特色图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33103707/

相关文章:

javascript - 图像宽度 100% 当高度大于 JQuery 的宽度时

iphone - 有适用于 iOS 的 RESTful YouTube API 吗?

web-services - Spring MVC如何成为REST框架?

java - 在 REST Web 服务内的请求/响应场景中使用 Kafka

java - Web 应用程序上的错误 406

php - 在 GROUP_CONCAT 返回意外结果后使用 WHERE 子句的 Wordpress MySQL 查询

javascript - 如何在一页wordpress中禁用所有脚本和样式表

php - mySQL 查询似乎使服务器崩溃

javascript - 如果显示元素,则添加 css 属性

c# - 使用 WebClient 或 HttpClient 下载文件?