REST API 文档

💡 云策文档标注

概述

本文档详细介绍了 WordPress 中模板修订的 REST API 端点,包括其数据结构、查询参数和操作方式。它面向开发者,提供了模板修订的完整 API 参考,涵盖列表、检索、删除和自动保存等功能。

关键要点

  • 模板修订记录包含多个字段,如 author、date、content、title 等,每个字段都有 JSON 数据类型和上下文(view、edit、embed)。
  • 支持通过 GET /wp/v2/templates/<parent>/revisions 端点列出模板修订,可使用 parent、context、page、per_page 等参数进行过滤和分页。
  • 提供 GET /wp/v2/templates/<parent>/revisions/<id> 端点来检索特定修订,以及 DELETE /wp/v2/templates/<parent>/revisions/<id> 端点来删除修订(需 force 参数)。
  • 自动保存功能通过 POST /wp/v2/templates/<id>/autosaves 创建修订,并支持 GET /wp/v2/templates/<parent>/autosaves/<id> 检索自动保存记录。
  • 所有端点都支持 context 参数来控制响应字段,确保数据安全性和灵活性。

代码示例

// 列出模板修订
$ curl https://example.com/wp-json/wp/v2/templates/<parent>/revisions

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

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

// 创建自动保存
$ curl -X POST https://example.com/wp-json/wp/v2/templates/<id>/autosaves

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

注意事项

  • 删除修订时需设置 force=true,因为修订不支持垃圾回收机制。
  • 使用 context 参数(view、edit、embed)可以限制响应中的字段,避免暴露敏感信息。
  • 自动保存端点(autosaves)用于处理模板的临时修订,而常规修订端点(revisions)用于持久化版本。

📄 原文内容

Schema

The schema defines all the fields that exist within a template 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 GUID for the revision, as it exists in the database.

JSON data type: string

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 Title of template.

JSON data type: object or string

Context: embed, view, edit

content Content of template.

JSON data type: object or string

Context: embed, view, edit

List Template Revisions

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

Definition

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

Example Request

$ curl https://example.com/wp-json/wp/v2/templates/<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 Template Revision

Definition & Example Request

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

Query this endpoint to retrieve a specific template revision record.

$ curl https://example.com/wp-json/wp/v2/templates/<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 Template 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/templates/<parent>/revisions/<id>

Example Request

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

Retrieve a Template Revision

Definition & Example Request

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

Query this endpoint to retrieve a specific template revision record.

$ curl https://example.com/wp-json/wp/v2/templates/<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 Template Revision

Arguments

<a href="#schema-parent">parent</a> The ID for the parent of the autosave.
<a href="#schema-slug">slug</a> Unique slug identifying the template.
<a href="#schema-theme">theme</a> Theme identifier for the template.
<a href="#schema-type">type</a> Type of template.
<a href="#schema-content">content</a> Content of template.
<a href="#schema-title">title</a> Title of template.
<a href="#schema-description">description</a> Description of template.
<a href="#schema-status">status</a> Status of template.
One of: publish, future, draft, pending, private
<a href="#schema-author">author</a> The ID for the author of the template.

Definition

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

Retrieve a Template Revision

Definition & Example Request

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

Query this endpoint to retrieve a specific template revision record.

$ curl https://example.com/wp-json/wp/v2/templates/<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