如何在WordPress Api中启用自定义帖子类型的帖子修订查看功能?

时间:2018-04-02 作者:Ron Ogrimen

{
  "code": "rest_cannot_read",
  "message": "Sorry, you are not allowed to view revisions of this post.",
  "data": {
    "status": 401
  }
}
/wp-json/wp/v2/posts/ID/修订(Im使用此请求)

1 个回复
SO网友:Jesús Franco

您应该拥有一个由您的WP实例提供的nonce,当然,还应该事先经过身份验证(通过Cookie,由WP登录正常过程设置,一个JWT,甚至是基本身份验证)。这是因为有些请求如果没有nonce, in order to prevent abuse.

因此,您可以将从后端生成的nonce传递给脚本,链接文档提供的示例非常简单:

<?php
wp_localize_script( \'your-custom-id\', \'wpApiSettings\', array(
    \'root\' => esc_url_raw( rest_url() ),
    \'nonce\' => wp_create_nonce( \'wp_rest\' )
) );
请注意所提供的示例,它使用的是jQuery,但是API不要求您使用它,甚至不要求您使用主干网,在示例中,我请求修改一篇带有Mithril 像这样:

m.request(\'/wp-json/wp/v2/posts/1/revisions\', {
  headers: {
    \'X-WP-Nonce\': wpApiSettings.nonce
    }
  })
  .then(revisions => console.log(revisions))
没有此标头的对默认控制器的请求将以401状态代码响应。

结束

相关推荐

How to delete post revisions?

我没有设置修订数量的限制,这使得我的一些帖子有20多个修订,那么如何删除这些修订呢?顺便说一下,我正在使用WPMU,并且有很多博客,那么如何删除我所有博客的WordPress修订版呢?