繁体   English   中英

如何使用 JSON rest api 从 wordpress 检索私人帖子?

[英]How to retrieve private posts from wordpress using JSON rest api?

在我的 wordpress 中,我有公开帖子、草稿帖子和私人帖子。 我安装了 WP REST API,以便我可以访问来自另一个域的帖子。

我可以使用以下 json 命令轻松检索公共帖子

http://www.example.dev/wp-json/posts?_jsonp=?
complete code 
http://codepen.io/anon/pen/YXNrre

但是,我无法检索私人帖子和草稿帖子。 我想,我需要传递登录信息

我也试过

http://www.example.dev/wp-json/posts?type[]=post&_jsonp=?
http://www.example.dev/wp-json/posts?type[]=post&filter[status]=private&_jsonp=?

http://www.example.dev/wp-json/posts?filter[status]=private

如何从客户端将身份验证信息传递给服务器? 我有 wordpress 登录名和密码。 我不知道PHP。 我想我只需要jquery。 以及如何使用 JSON 从另一个域访问私人帖子? 提前致谢。

这里有 API 文档。 http://wp-api.org/#posts_retrieve-posts

设置帖子状态的字段称为“post_status”,而不仅仅是“status”。 post_status 的默认值通常是“发布”。

此外,如果您像您提到的那样通过身份验证,则只能使用该字段。 这里有文档http://wp-api.org/guides/authentication.html

我有同样的问题,

/wp-json/wp/v2/posts?post_status=private 

不过滤任何东西。

对于仍然对上述内容感兴趣的任何人,解决方案与@iridian 提到的身份验证相关,但您还需要编辑成员资格角色以允许用户阅读私人帖子。

所需插件:

  1. 任何 JWT 身份验证插件(用于 rest API 或 graphql)(免费)
  2. Graphql cors 插件也有帮助
  3. 来自 memberPress 的会员插件(免费)

过程:

  1. 配置 JWT 身份验证
  2. 选择当前用户的角色并更新功能以允许阅读私人帖子。
  3. 在前端验证用户
  4. 传递身份验证令牌以请求标头作为authorization "Bearer token"
  5. 提出请求
const { data } = this.axios.get('https://your-wp-url.com/wp-json/wp/v2/posts?status=private&orderby=date&per_page=10&_embed')

这将返回 10 个状态为私人的帖子,按日期排序并嵌入图像。

另外,在https://wordpress.stackexchange.com/a/356136/198077查看解释

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM