REST API 文档

💡 云策文档标注

概述

本文档详细介绍了 WordPress REST API 中 Pages 端点的数据结构和操作。核心内容包括页面记录的 Schema 定义、列表查询、创建、检索、更新和删除操作,面向开发者提供完整的 API 参考。

关键要点

  • Schema 定义了页面记录的字段,如 date、id、title、content 等,每个字段包含 JSON 数据类型、上下文和可选值。
  • 支持通过 GET /wp/v2/pages 查询页面列表,可使用 context、page、per_page、search、orderby 等参数进行过滤和排序。
  • 提供创建页面(POST /wp/v2/pages)、检索特定页面(GET /wp/v2/pages/<id>)、更新页面(POST /wp/v2/pages/<id>)和删除页面(DELETE /wp/v2/pages/<id>)的端点。
  • 操作参数包括 id、date、status、password、parent 等,允许开发者控制页面属性和行为。

代码示例

// 示例请求:列出页面
$ curl https://example.com/wp-json/wp/v2/pages

// 示例请求:删除页面
$ curl -X DELETE https://example.com/wp-json/wp/v2/pages/<id>

📄 原文内容

Schema

The schema defines all the fields that exist within a page 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.

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

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

Context: view, edit, embed

date_gmt The date the post was published, as GMT.

JSON data type: string or null,
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 post.

JSON data type: integer

Read only

Context: view, edit, embed

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

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

Read only

Context: view, edit

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

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

Read only

Context: view, edit

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

JSON data type: string

Context: view, edit, embed

status A named status for the post.

JSON data type: string

Context: view, edit

One of: publish, future, draft, pending, private

type Type of post.

JSON data type: string

Read only

Context: view, edit, embed

password A password to protect access to the content and excerpt.

JSON data type: string

Context: edit

generated_slug Slug automatically generated from the post title.

JSON data type: string

Read only

Context: edit

parent The ID for the parent of the post.

JSON data type: integer

Context: view, edit

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

author The ID for the author of the post.

JSON data type: integer

Context: view, edit, embed

excerpt The excerpt for the post.

JSON data type: object

Context: view, edit, embed

comment_status Whether or not comments are open on the post.

JSON data type: string

Context: view, edit

One of: open, closed

ping_status Whether or not the post can be pinged.

JSON data type: string

Context: view, edit

One of: open, closed

menu_order The order of the post in relation to other posts.

JSON data type: integer

Context: view, edit

meta Meta fields.

JSON data type: object

Context: view, edit

template The theme file to use to display the post.

JSON data type: string

Context: view, edit

List Pages

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

Definition

GET /wp/v2/pages

Example Request

$ curl https://example.com/wp-json/wp/v2/pages

Arguments

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.

Default: 10

search Limit results to those matching a string.
after Limit response to posts published after a given ISO8601 compliant date.
modified_after Limit response to posts modified after a given ISO8601 compliant date.
author Limit result set to posts assigned to specific authors.
author_exclude Ensure result set excludes posts assigned to specific authors.
before Limit response to posts published before a given ISO8601 compliant date.
modified_before Limit response to posts modified before a given ISO8601 compliant date.
exclude Ensure result set excludes specific IDs.
include Limit result set to specific IDs.
menu_order Limit result set to posts with a specific menu_order value.
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 post attribute.

Default: date

One of: author, date, id, include, modified, parent, relevance, slug, include_slugs, title, menu_order

parent Limit result set to items with particular parent IDs.
parent_exclude Limit result set to all items except those of a particular parent ID.
search_columns Array of column names to be searched.
slug Limit result set to posts with one or more specific slugs.
status Limit result set to posts assigned one or more statuses.

Default: publish

Create a Page

Arguments

<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-parent">parent</a> The ID for the parent of the post.
<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-menu_order">menu_order</a> The order of the post in relation to other posts.
<a href="#schema-meta">meta</a> Meta fields.
<a href="#schema-template">template</a> The theme file to use to display the post.

Definition

POST /wp/v2/pages

Retrieve a Page

Definition & Example Request

GET /wp/v2/pages/<id>

Query this endpoint to retrieve a specific page record.

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

Arguments

id Unique identifier for the post.
context Scope under which the request is made; determines fields present in response.

Default: view

One of: view, embed, edit

password The password for the post if it is password protected.

Update a Page

Arguments

<a href="#schema-id">id</a> Unique identifier for the post.
<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-parent">parent</a> The ID for the parent of the post.
<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-menu_order">menu_order</a> The order of the post in relation to other posts.
<a href="#schema-meta">meta</a> Meta fields.
<a href="#schema-template">template</a> The theme file to use to display the post.

Definition

POST /wp/v2/pages/<id>

Example Request

Delete a Page

Arguments

id Unique identifier for the post.
force Whether to bypass Trash and force deletion.

Definition

DELETE /wp/v2/pages/<id>

Example Request

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