我想使用API​​在我的Wordpress博客上发布。
由于我在Javascript应用程序中,因此我将使用这种语言来实现。

我进行了一些搜索,找到了使用Wordpress XML-RPC协议(protocol)的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库通过媒体和特色图片创建帖子的替代方法还是更好的方法?

最佳答案

要在创建帖子时设置特色图片,只需提供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
})

要将图像插入到帖子内容中,可以在<img>参数中放置一个content标记。例子:
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进行了测试。
我希望这有帮助!

关于javascript - 使用Wordpress API和Javascript库在媒体上添加帖子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59461874/

10-11 05:12
查看更多