在此前的文章WordPress JSON REST API (WP API) 简介、发展前景及文档翻译计划中,我简单的介绍了WordPress JSON REST API,然后在百度统计中看到了很多朋友搜索到了这篇文章,文章中也有提到翻译WordPress JSON REST API文档的计划 ,这将是翻译计划的第一篇,使用WordPress JSON REST API 创建\获取\编辑\删除文章。
创建一篇文章
POST /posts
需要认证
输入
传入的data参数被用来创建Post 对象,数据可以用HTTP multipart body的形式提交,也可以直接使用JOSN格式。所以,下面的两种方式是等效的
Content-Type: application/x-www-form-urlencoded
data[title]=Hello%20World!&data[content_raw]=Content&data[excerpt_raw]=Excerpt
Content-Type: application/json
{”title”:”Hello World!”,”content_raw”:”Content”,”excerpt_raw”:”Excerpt”}
data参数应该是一个包含以下键值对的对象。
title – 文章标题 (string) required
content_raw – 文章内容 (string) required
excerpt_raw – 文章摘要 (string) optional
name – 文章别名 (string) optional
status – 文章状态,可以是: draft, publish, pending, future, private, 或其他自定义文章状态,如果提供的文章状态为 future,必须同时提交一个日期作为文章的发布日期,默认为draft. (string) optional
type – 文章类型,可以是: post, page, link, nav_menu_item, 或其他自定义文章类型. 默认为post. (string) optional
date – 发布文章的本地日期和时间. 日期应该是一个 RFC3339 时间戳(http://tools.ietf.org/html/rfc3339). 例如: 2014-01-01T12:20:52Z. 默认为本地日期和时间. (string) optional
date_gmt – 文章发布的UTC日期和时间,日期应该为一个 RFC3339 时间戳. 例如: 201401-01T12:20:52Z. 默认为当前的 GMT 日期和时间. (string) optional
author – 文章的作者,作者可以为作者ID或作者对象,默认为当前作者。(object | string) optional
password – 用来保护文章的密码,默认为空字符串 (string) optional
post_parent – 父级文章的ID,默认为0. (integer) optional
post_format – 文章格式,默认为standard. (string) optional
menu_order – 页面的顺序序号,默认为0 (integer) optional
comment_status – 文章的评论状态:open or closed. 用以确定用户是否可以发表评论,默认为设置选项 ‘default_comment_status’的值, 或 ‘closed’. (string) optional
ping_status – 文章的ping状态: open or closed。用来确定用户是否可以提交pibgbacks和trackbacks,默认为设置选项 ‘default_ping_status’的值. (string) optional
sticky – 文章的置顶状态: true or false. 默认为 false. (boolean) optional
post_meta – 文章的元数据,文章元数据应该是一个或多个元数据对象的数组,查看使用端点键值对创建文章元数据章节。 (array) optional
返回
如果文章创建成功,会返回一个201状态码,说明文章已经被创建,从地址头可以看到文章的URL信息,为方便使用,文章的主要内容也会在返回的HTTP body中显示。
如果没有授权,将返回一个403 未授权状态码。
获取文章
文章端点返回一个包含了站点文章的一个子集。
GET /posts
输入
过滤
filter 参数控制用于文章查询的参数。
注意:只有 “公开” 查询参数可以通过API使用,因为不是所有的查询参数可以安全的暴露出来。只有具有edit_posts权限的授权用户才能使用 “私有” 查询参数。其他查询参数可以通过query_vars过滤器注册,或通过json_query_vars注册API专用查询参数。

