【发布时间】:2020-04-15 03:06:05
【问题描述】:
我想使用 API 在我的 Wordpress 博客上发帖。 因为我在一个 Javascript 应用程序中,所以我会使用这种语言来做到这一点。
我进行了一些搜索,并找到了使用 Wordpress XML-RPC 协议的 node-wpapi 包。一切正常,除了发布带有媒体或特色图片的文章。
const responseUploadImage = await wp.media()
.file('./tempImage.jpg')
.create({
title: 'My awesome image',
alt_text: 'an image of something awesome',
caption: 'This is the caption text',
description: 'More explanatory information'
});
const responsePostCreation = await wp.posts().create({
title: 'Your Post Title',
content: 'Your post content',
// status: 'publish'
});
const response = await wp.media().id(responseUploadImage.id).update({
post: responsePostCreation.id
});
它会创建帖子和上传媒体,但不会创建带有媒体的帖子。
您知道使用 JS 库创建包含媒体和特色图片的帖子的替代方法或更好的方法吗?
【问题讨论】:
-
我不熟悉您使用的节点库,但我确实有一个用于 Wordpress API 的 Postman 集合:explore.postman.com/templates/3073/wordpress-api-v2
-
我看不到您的异步函数在哪里,您也可以调用这两个函数来创建它们。这是所有的代码吗?
-
这是一篇关于如何使用库的好文章:wp-api.org/node-wpapi/guides/2016/08/15/… 我看到你提出了两个请求。一个用于创建上传帖子,另一个用于创建帖子。我没有看到将两者关联的请求?
-
既然您同时创建帖子和媒体,您是否尝试过先创建帖子,然后直接使用
post字段创建媒体(而不是单独更新) ?我不知道为什么它在功能上会有任何不同,但它可能值得一试(并且它会保存一个请求)。 -
@RobbTraister 颠倒调用顺序并没有奏效。
标签: javascript wordpress xml-rpc posts