如何使用 Node.js 的 wpapi 创建新的 WordPress 帖子?

Ghi*_*taB 4 javascript api rest wordpress node.js

我尝试使用 wpapi 模块在 WordPress 中创建帖子。没有错误,请求以 结尾200 Success,但请求正文是空对象,并且没有创建帖子。

var wp = new WPAPI({
   endpoint: 'http://your-site.com/wp-json',
   username: 'someusername',
   password: 'password'
});
wp.posts().create({
   title: 'Your Post Title',
   content: 'Your post content',
   status: 'publish'
}).then(function( response ) {
   console.log( response.id ); // This is undefined
})
Run Code Online (Sandbox Code Playgroud)

这是为什么?我该如何解决这个问题?

Ion*_*zău 5

就像我在这里提到的,我通过使用应用程序密码插件修复了这个问题。

如果您有 Duo 身份验证,并且 WP API 其余客户端无法解析 JSON 响应(这确实无效),但它会静默失败(它们在那里有一个 try-catch),则可能会出现问题。

  1. 安装应用程序密码插件
  2. 也许创建一个新用户(例如用户名:wpapi)
  3. 为该用户创建应用程序密码,然后在 Node.js 代码中使用它:

    var wp = new WPAPI({ 
      endpoint: 'http://your-site.com/wp-json',
      username: 'wpapi',
      password: 'XXXX XXXX XXXX XXXX'
    });
    
    Run Code Online (Sandbox Code Playgroud)

这将绕过双重身份验证。