我正在使用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.
但这是正确的方法吗?
是否可以在上传后生成特色图像的不同(已调整大小)版本,还是需要自定义端点?
我知道我可以上传图片附件(POST/wp-json/wp/v2/media),然后更新相关文章(PUT/wp-json/wp/v2/posts/ID)并使其"featured_image"关键点到附件ID.但这是正确的方法吗?
据我所知,这是可行的方法.WP API文档在解释所有这些方面"有点"缺乏.并且涉及到相当多的挫折,但最终确切地说我是如何使它工作的.
因此,首先将媒体上传到端点POST /wp-json/wp/v2/media
,并将以下HTTP标头和文件内容作为数据:
'CURLOPT_HTTPHEADER' => [
'Content-type: application/json',
'Authorization: Basic ' . $base64Credentials,
'Content-Disposition: attachment; filename="acme.png"'
]
Run Code Online (Sandbox Code Playgroud)
这里的问题是Content-Disposition标题.此调用应返回媒体ID,您现在需要进行调用POST /wp-json/wp/v2/posts/{$existingPostId}
.
相同的标题,但没有Content-Disposition
.这次数据应该是JSON编码的{"featured_media": 156}
(您不必直接使用CURL.只需确保将HTTP标头传入请求)
小智 1
我能够通过上传图像(ionic mobile)创建带有图像ID的帖子。我通过检查 wp-json/wp/v2/posts/id 的 json 响应找到了秘密武器
在数据部分我看到“featured_media”,我读到我需要将“featured_image”设置为一个id,但这不起作用。
所以我尝试在我的帖子中设置“featured_media”值并且它有效。
我尝试了一切,但没有任何效果,直到我尝试了这个。
“post_meta”数组没有任何效果,但我把它留在那里,因为这是他们在我能找到的(稀疏)文档中所说的要做的事情。
这对我有用:
$scope.http({
method: "POST",
url: "http://<domain>/wp-json/wp/v2/posts" ,
headers: { 'Authorization' : 'Basic ' + $scope.au },
data: {
title: $scope.postData.title,
content: $scope.postData.content,
status: $scope.postData.status,
featured_media: $scope.imageid,
post_meta: [
{
"key": "_thumbnail_id",
"value": $scope.imageid
}]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9230 次 |
最近记录: |