使用 Wordpress API 和 Javascript 库添加带有媒体的帖子
Adding posts with media using Wordpress API and Javascript library
我想 post 在我的 Wordpress 博客上使用 API。
因为我在 Javascript 应用程序中,所以我会使用这种语言。
我进行了一些搜索,找到了 node-wpapi 包,它使用 Wordpress XML-RPC 协议。一切正常,除了 post 带有媒体或特色图片的文章。
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
});
它会创建 post 并上传媒体,但不会创建 post 媒体。
您是否知道使用 JS 库创建 post 媒体和特色图片的替代方法或更好的方法?
要在创建 post 时设置特色图片,只需提供 featured_media
参数即可。示例:
wp.media().file("test.jpg").create({
title: "Media Title"
}).then(media => {
return wp.posts().create({
title: "Your Post Title",
content: "Fancy",
featured_media: media.id
})
}).then(post => {
// Success
}).catch(() => {
// Error
})
要将图像插入 post 内容,您可以在 content
参数中放置一个 <img>
标签。示例:
wp.media().file("test.jpg").create({
title: "Media Title"
}).then(media => {
return wp.posts().create({
title: "Hi",
content: `<img src="${media.source_url}" />`
})
})
这两个都已针对 WordPress 5.3.2 进行了测试。
希望对您有所帮助!
我想 post 在我的 Wordpress 博客上使用 API。 因为我在 Javascript 应用程序中,所以我会使用这种语言。
我进行了一些搜索,找到了 node-wpapi 包,它使用 Wordpress XML-RPC 协议。一切正常,除了 post 带有媒体或特色图片的文章。
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
});
它会创建 post 并上传媒体,但不会创建 post 媒体。
您是否知道使用 JS 库创建 post 媒体和特色图片的替代方法或更好的方法?
要在创建 post 时设置特色图片,只需提供 featured_media
参数即可。示例:
wp.media().file("test.jpg").create({
title: "Media Title"
}).then(media => {
return wp.posts().create({
title: "Your Post Title",
content: "Fancy",
featured_media: media.id
})
}).then(post => {
// Success
}).catch(() => {
// Error
})
要将图像插入 post 内容,您可以在 content
参数中放置一个 <img>
标签。示例:
wp.media().file("test.jpg").create({
title: "Media Title"
}).then(media => {
return wp.posts().create({
title: "Hi",
content: `<img src="${media.source_url}" />`
})
})
这两个都已针对 WordPress 5.3.2 进行了测试。 希望对您有所帮助!