REST API 文档

💡 云策文档标注

概述

本文档详细介绍了 WordPress REST API 中文章修订(Post Revisions)的架构和端点操作。它定义了修订记录的字段结构,并提供了列出、检索、删除和创建修订的 API 方法,包括自动保存功能。

关键要点

  • 修订记录包含多个字段,如 author、date、content、id 等,每个字段有特定的 JSON 数据类型和上下文(如 view、edit、embed)。
  • 支持通过 GET /wp/v2/posts/<parent>/revisions 列出修订,并可使用参数如 context、page、orderby 进行过滤和排序。
  • 提供检索特定修订(GET /wp/v2/posts/<parent>/revisions/<id>)和删除修订(DELETE /wp/v2/posts/<parent>/revisions/<id>)的端点。
  • 自动保存功能通过端点如 GET /wp/v2/posts/<id>/autosaves 和 POST /wp/v2/posts/<id>/autosaves 处理,支持创建和检索自动保存版本。
  • 创建修订时,可传递参数如 title、content、status 等,以定义新修订的属性。

代码示例

// 列出文章修订
$ curl https://example.com/wp-json/wp/v2/posts/<parent>/revisions

// 检索特定修订
$ curl https://example.com/wp-json/wp/v2/posts/<parent>/revisions/<id>

// 删除修订
$ curl -X DELETE https://example.com/wp-json/wp/v2/posts/<parent>/revisions/<id>

// 检索自动保存
$ curl https://example.com/wp-json/wp/v2/posts/<id>/autosaves

注意事项

  • 删除修订时必须设置 force=true,因为修订不支持垃圾回收机制。
  • 字段的可用性取决于 context 参数(如 view、edit、embed),需根据需求选择合适的上下文。
  • 自动保存端点(如 /autosaves)用于处理临时保存的版本,与常规修订端点有所区别。

📄 原文内容

Schema

The schema defines all the fields that exist within a post revision record. Any response from these endpoints can be expected to contain the fields below unless the `_filter` query parameter is used or the schema field only appears in a specific context.

author The ID for the author of the revision.

JSON data type: integer

Context: view, edit, embed

date The date the revision was published, in the site's timezone.

JSON data type: string,
Format: datetime (details)

Context: view, edit, embed

date_gmt The date the revision was published, as GMT.

JSON data type: string,
Format: datetime (details)

Context: view, edit

guid The globally unique identifier for the post.

JSON data type: object

Read only

Context: view, edit

id Unique identifier for the revision.

JSON data type: integer

Context: view, edit, embed

modified The date the revision was last modified, in the site's timezone.

JSON data type: string,
Format: datetime (details)

Context: view, edit

modified_gmt The date the revision was last modified, as GMT.

JSON data type: string,
Format: datetime (details)

Context: view, edit

parent The ID for the parent of the revision.

JSON data type: integer

Context: view, edit, embed

slug An alphanumeric identifier for the revision unique to its type.

JSON data type: string

Context: view, edit, embed

title The title for the post.

JSON data type: object

Context: view, edit, embed

content The content for the post.

JSON data type: object

Context: view, edit

excerpt The excerpt for the post.

JSON data type: object

Context: view, edit, embed

List Post Revisions

Query this endpoint to retrieve a collection of post revisions. The response you receive can be controlled and filtered using the URL query parameters below.

Definition

GET /wp/v2/posts/<parent>/revisions

Example Request

$ curl https://example.com/wp-json/wp/v2/posts/<parent>/revisions

Arguments

parent The ID for the parent of the revision.
context Scope under which the request is made; determines fields present in response.

Default: view

One of: view, embed, edit

page Current page of the collection.

Default: 1

per_page Maximum number of items to be returned in result set.
search Limit results to those matching a string.
exclude Ensure result set excludes specific IDs.
include Limit result set to specific IDs.
offset Offset the result set by a specific number of items.
order Order sort attribute ascending or descending.

Default: desc

One of: asc, desc

orderby Sort collection by object attribute.

Default: date

One of: date, id, include, relevance, slug, include_slugs, title

Retrieve a Post Revision

Definition & Example Request

GET /wp/v2/posts/<parent>/revisions/<id>

Query this endpoint to retrieve a specific post revision record.

$ curl https://example.com/wp-json/wp/v2/posts/<parent>/revisions/<id>

Arguments

parent The ID for the parent of the revision.
id Unique identifier for the revision.
context Scope under which the request is made; determines fields present in response.

Default: view

One of: view, embed, edit

Delete a Post Revision

Arguments

parent The ID for the parent of the revision.
id Unique identifier for the revision.
force Required to be true, as revisions do not support trashing.

Definition

DELETE /wp/v2/posts/<parent>/revisions/<id>

Example Request

$ curl -X DELETE https://example.com/wp-json/wp/v2/posts/<parent>/revisions/<id>

Retrieve a Post Revision

Definition & Example Request

GET /wp/v2/posts/<id>/autosaves

Query this endpoint to retrieve a specific post revision record.

$ curl https://example.com/wp-json/wp/v2/posts/<id>/autosaves

Arguments

parent The ID for the parent of the autosave.
context Scope under which the request is made; determines fields present in response.

Default: view

One of: view, embed, edit

Create a Post Revision

Arguments

<a href="#schema-parent">parent</a> The ID for the parent of the autosave.
<a href="#schema-date">date</a> The date the post was published, in the site's timezone.
<a href="#schema-date_gmt">date_gmt</a> The date the post was published, as GMT.
<a href="#schema-slug">slug</a> An alphanumeric identifier for the post unique to its type.
<a href="#schema-status">status</a> A named status for the post.
One of: publish, future, draft, pending, private
<a href="#schema-password">password</a> A password to protect access to the content and excerpt.
<a href="#schema-title">title</a> The title for the post.
<a href="#schema-content">content</a> The content for the post.
<a href="#schema-author">author</a> The ID for the author of the post.
<a href="#schema-excerpt">excerpt</a> The excerpt for the post.
<a href="#schema-featured_media">featured_media</a> The ID of the featured media for the post.
<a href="#schema-comment_status">comment_status</a> Whether or not comments are open on the post.
One of: open, closed
<a href="#schema-ping_status">ping_status</a> Whether or not the post can be pinged.
One of: open, closed
<a href="#schema-format">format</a> The format for the post.
One of: standard, aside, chat, gallery, link, image, quote, status, video, audio
<a href="#schema-meta">meta</a> Meta fields.
<a href="#schema-sticky">sticky</a> Whether or not the post should be treated as sticky.
<a href="#schema-template">template</a> The theme file to use to display the post.
<a href="#schema-categories">categories</a> The terms assigned to the post in the category taxonomy.
<a href="#schema-tags">tags</a> The terms assigned to the post in the post_tag taxonomy.

Definition

POST /wp/v2/posts/<id>/autosaves

Retrieve a Post Revision

Definition & Example Request

GET /wp/v2/posts/<parent>/autosaves/<id>

Query this endpoint to retrieve a specific post revision record.

$ curl https://example.com/wp-json/wp/v2/posts/<parent>/autosaves/<id>

Arguments

parent The ID for the parent of the autosave.
id The ID for the autosave.
context Scope under which the request is made; determines fields present in response.

Default: view

One of: view, embed, edit