Эти маршруты позволяют получить/создать/обновить/удалить страницы или отдельную страницу.
Возможные маршруты (конечные точки маршрутов описаны ниже):
/wp/v2/pages // работает со всеми страницами
/wp/v2/pages/{ID} // работает с указанной вместо {ID} страницей
Класс контроллера: WP_REST_Posts_Controller{}
Схема ресурса
Схема показывает все поля, которые существуют для объекта: поля объекта которые вернет запрос.
Параметр
Контекст
Описание
date строка
view, edit, embed
Дата публикации страницы в часовом поясе сайта.
date_gmt строка/datetime
view, edit
Дата публикации страницы, как GMT.
guid объект
view, edit
Глобальный уникальный идентификатор страницы. Только для чтения.
id число
view, edit, embed
Уникальный идентификатор страницы. Только для чтения.
link строка
view, edit, embed
Ссылка на страницу. Только для чтения.
modified строка
view, edit
Дата последнего изменения страницы в часовом поясе сайта. Только для чтения.
modified_gmt строка
view, edit
Дата последнего изменения страницы, как GMT. Только для чтения.
slug строка
view, edit, embed
Алфавитно-цифровой идентификатор страницы, уникальный для его типа. Ещё называют ярлыком.
status строка
view, edit
Статус страницы. Может быть publish , future , draft , pending , private .
type строка
view, edit, embed
Тип страницы. Только для чтения.
password строка
edit
Пароль для защиты доступа к контенту и цитате (отрывку).
parent число
view, edit
ID родительской страницы.
title объект
view, edit, embed
Заголовок страницы.
content объект
view, edit
Контент страницы.
author число
view, edit, embed
Идентификатор (ID) автора страницы
excerpt объект
view, edit, embed
Цитата (отрывок) страницы.
featured_media число
view, edit, embed
Идентификатор (ID) миниатюры (изображения) страницы.
comment_status строка
view, edit
Можно ли оставлять комментарии к страницы или нет. Может быть open или closed .
ping_status строка
view, edit
Статус пингов/трэкбэков, может быть open или closed .
menu_order число
view, edit
Порядок страницы по отношению к другой странице.
meta массив
view, edit
Знания метаполей. Массив объектов.
template строка
view, edit
Файл темы, который используется для отображения страницы.
wp/v2/pages
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/pages
GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"POST"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
"type": "string"
},
"page": {
"required": false,
"default": 1,
"description": "Текущая страница коллекции.",
"type": "integer"
},
"per_page": {
"required": false,
"default": 10,
"description": "Максимальное число объектов возвращаемое в выборке.",
"type": "integer"
},
"search": {
"required": false,
"description": "Ограничить результаты до совпадающих со строкой.",
"type": "string"
},
"after": {
"required": false,
"description": "Ограничить ответ записями опубликованными после заданной ISO8601 совместимой даты. ",
"type": "string"
},
"author": {
"required": false,
"default": [],
"description": "Ограничить выборку записями определенных авторов.",
"type": "array",
"items": {
"type": "integer"
}
},
"author_exclude": {
"required": false,
"default": [],
"description": "Убедиться что выборка исключает записи назначенные определенным авторам.",
"type": "array",
"items": {
"type": "integer"
}
},
"before": {
"required": false,
"description": "Ограничить ответ записями опубликованными до заданной ISO8601 совместимой даты.",
"type": "string"
},
"exclude": {
"required": false,
"default": [],
"description": "Убедиться что выборка исключает определенные ID.",
"type": "array",
"items": {
"type": "integer"
}
},
"include": {
"required": false,
"default": [],
"description": "Ограничить выборку до определенных ID.",
"type": "array",
"items": {
"type": "integer"
}
},
"menu_order": {
"required": false,
"description": "Ограничить выборку до записей с определенным значением menu_order.",
"type": "integer"
},
"offset": {
"required": false,
"description": "Сдвиг выборки на определенное число объектов.",
"type": "integer"
},
"order": {
"required": false,
"default": "desc",
"enum": [
"asc",
"desc"
],
"description": "Упорядочить сортировку атрибута по возрастанию или убыванию.",
"type": "string"
},
"orderby": {
"required": false,
"default": "date",
"enum": [
"author",
"date",
"id",
"include",
"modified",
"parent",
"relevance",
"slug",
"include_slugs",
"title",
"menu_order"
],
"description": "Сортировать коллекцию по атрибуту объекта.",
"type": "string"
},
"parent": {
"required": false,
"default": [],
"description": "Ограничить выборку до определенных ID родителей.",
"type": "array",
"items": {
"type": "integer"
}
},
"parent_exclude": {
"required": false,
"default": [],
"description": "Ограничить выборку до объектов за исключением имеющих определенный ID родителя.",
"type": "array",
"items": {
"type": "integer"
}
},
"slug": {
"required": false,
"description": "Ограничить выборку до записей с одним или несколькими установленными конкретными ярлыками.",
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"required": false,
"default": "publish",
"description": "Ограничить выборку до записей с одним или несколькими установленными статусами.",
"type": "array",
"items": {
"enum": [
"publish",
"future",
"draft",
"pending",
"private",
"trash",
"auto-draft",
"inherit",
"request-pending",
"request-confirmed",
"request-failed",
"request-completed",
"any"
],
"type": "string"
}
}
}
},
{
"methods": [
"POST"
],
"args": {
"date": {
"required": false,
"description": "Дата публикации объекта, по временной зоне сайта.",
"type": "string"
},
"date_gmt": {
"required": false,
"description": "Время публикации объекта, по GMT.",
"type": "string"
},
"slug": {
"required": false,
"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
"type": "string"
},
"status": {
"required": false,
"enum": [
"publish",
"future",
"draft",
"pending",
"private"
],
"description": "Именованный статус для объекта.",
"type": "string"
},
"password": {
"required": false,
"description": "Пароль для защиты содержания и отрывка.",
"type": "string"
},
"parent": {
"required": false,
"description": "ID родителя объекта.",
"type": "integer"
},
"title": {
"required": false,
"description": "Название для объекта.",
"type": "object"
},
"content": {
"required": false,
"description": "Содержимое объекта.",
"type": "object"
},
"author": {
"required": false,
"description": "ID автора объекта.",
"type": "integer"
},
"excerpt": {
"required": false,
"description": "Отрывок объекта.",
"type": "object"
},
"featured_media": {
"required": false,
"description": "ID избранного медиа для объекта.",
"type": "integer"
},
"comment_status": {
"required": false,
"enum": [
"open",
"closed"
],
"description": "Открыты ли комментарии для объекта.",
"type": "string"
},
"ping_status": {
"required": false,
"enum": [
"open",
"closed"
],
"description": "Принимает ли объект уведомления.",
"type": "string"
},
"menu_order": {
"required": false,
"description": "Порядок объекта по отношению к другим объектам того же типа.",
"type": "integer"
},
"meta": {
"required": false,
"description": "Мета поля.",
"type": "object"
},
"template": {
"required": false,
"description": "Файл темы используемый для показа объекта.",
"type": "string"
}
}
}
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "page",
"type": "object",
"properties": {
"date": {
"description": "Дата публикации объекта, по временной зоне сайта.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit",
"embed"
]
},
"date_gmt": {
"description": "Время публикации объекта, по GMT.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"guid": {
"description": "Глобальный уникальный идентификатор для объекта.",
"type": "object",
"context": [
"view",
"edit"
],
"readonly": true,
"properties": {
"raw": {
"description": "GUID для объекта, как он существует в базе данных.",
"type": "string",
"context": [
"edit"
],
"readonly": true
},
"rendered": {
"description": "GUID для объекта, преобразованный для показа.",
"type": "string",
"context": [
"view",
"edit"
],
"readonly": true
}
}
},
"id": {
"description": "Уникальный идентификатор для объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
},
"link": {
"description": "URL объекта.",
"type": "string",
"format": "uri",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
},
"modified": {
"description": "Дата последнего изменения объекта, по временной зоне сайта.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
],
"readonly": true
},
"modified_gmt": {
"description": "Дата последнего изменения объекта, в GMT.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
],
"readonly": true
},
"slug": {
"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
]
},
"status": {
"description": "Именованный статус для объекта.",
"type": "string",
"enum": [
"publish",
"future",
"draft",
"pending",
"private"
],
"context": [
"view",
"edit"
]
},
"type": {
"description": "Тип записи для объекта.",
"type": "string",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
},
"password": {
"description": "Пароль для защиты содержания и отрывка.",
"type": "string",
"context": [
"edit"
]
},
"parent": {
"description": "ID родителя объекта.",
"type": "integer",
"context": [
"view",
"edit"
]
},
"title": {
"description": "Название для объекта.",
"type": "object",
"context": [
"view",
"edit",
"embed"
],
"properties": {
"raw": {
"description": "Название объекта как оно существует в базе данных.",
"type": "string",
"context": [
"edit"
]
},
"rendered": {
"description": "HTML название объекта, преобразованное для показа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"content": {
"description": "Содержимое объекта.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": {
"raw": {
"description": "Содержимое объекта как оно существует в базе данных.",
"type": "string",
"context": [
"edit"
]
},
"rendered": {
"description": "HTML содержимое объекта преобразованное для показа.",
"type": "string",
"context": [
"view",
"edit"
],
"readonly": true
},
"protected": {
"description": "Защищено ли содержимое паролем.",
"type": "boolean",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"author": {
"description": "ID автора объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"excerpt": {
"description": "Отрывок объекта.",
"type": "object",
"context": [
"view",
"edit",
"embed"
],
"properties": {
"raw": {
"description": "Отрывок объекта как он существует в базе данных.",
"type": "string",
"context": [
"edit"
]
},
"rendered": {
"description": "HTML отрывок объекта, преобразованный для показа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
},
"protected": {
"description": "Защищать ли паролем отрывок.",
"type": "boolean",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"featured_media": {
"description": "ID избранного медиа для объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"comment_status": {
"description": "Открыты ли комментарии для объекта.",
"type": "string",
"enum": [
"open",
"closed"
],
"context": [
"view",
"edit"
]
},
"ping_status": {
"description": "Принимает ли объект уведомления.",
"type": "string",
"enum": [
"open",
"closed"
],
"context": [
"view",
"edit"
]
},
"menu_order": {
"description": "Порядок объекта по отношению к другим объектам того же типа.",
"type": "integer",
"context": [
"view",
"edit"
]
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
},
"template": {
"description": "Файл темы используемый для показа объекта.",
"type": "string",
"context": [
"view",
"edit"
]
}
},
"links": [
{
"rel": "https://api.w.org/action-publish",
"title": "Текущий пользователь может опубликовать эту запись.",
"href": "http://wptest.ru/wp-json/wp/v2/pages/{id}",
"targetSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"publish",
"future"
]
}
}
}
},
{
"rel": "https://api.w.org/action-assign-author",
"title": "Текущий пользователь может сменить автора для этой записи.",
"href": "http://wptest.ru/wp-json/wp/v2/pages/{id}",
"targetSchema": {
"type": "object",
"properties": {
"author": {
"type": "integer"
}
}
}
}
]
},
"_links": {
"self": "http://wptest.ru/wp-json/wp/v2/pages"
}
}
Список страниц
За один запрос можно получить коллекцию из страниц по тем или иным условиям. Алгоритм схож с работой класса WP_Query и функций на его основе.
Вид запроса
Доступ: публичный
GET /wp/v2/pages
Параметры запроса
context
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе. Может быть view , embed , edit .
По умолчанию: view
page
Текущая страница коллекции.
По умолчанию: 1
per_page
Максимальное количество страниц в результирующем наборе.
По умолчанию: 10
search
Ограничение по количеству возвращаемых страниц при поиске.
after
Ограничить ответ по страницам, опубликованных после заданной даты, соответствующей ISO8601.
before
Ограничить ответ по страницам, опубликованных до заданной даты, соответствующей ISO8601.
author
Указывает страницы каких авторов надо вернуть.
author_exclude
Указывает страницы каких авторов не надо возвращать.
exclude
Исключает из набора страницы по их ID.
include
Включает в набор страницы по их ID. В наборе будут присутствовать только те страницы, ID которых были указаны.
menu_order
Включает в набор страницы с определенным значением параметра menu_order .
offset
Смещение (отступ) набора результатов на указанное число.
По умолчанию: 1
order
Сортировка страниц в выборке. Может быть asc или desc .
По умолчанию: desc
orderby
Сортировка страниц в выборке по атрибутам. Может быть author , date , id , include , modified , parent , relevance , slug , title .
По умолчанию: date
slug
Ограничение выборки по указанному одному ярлыку страницы или нескольким.
status
Ограничение выборки по одному статусу или нескольким.
По умолчанию: publish
parent
Ограничение выборки по определенным родительским ID.
parent_exclude
Исключает из набора страницы по ID их родительских страниц.
Пример запроса
Ссылки рабочие, можно открыть в браузере и посмотреть результат.
1) Запрос на получение массива всех страниц:
https://demo.wp-api.org/wp-json/wp/v2/pages/
Вернется массив объектов, где каждый объект страницы схож с тем, что описан в пункте "Получить страницу":
[
{
... данные страницы <id> ...
},
{
... данные страницы <id> ...
},
{
... данные страницы <id> ...
}
]
2) Получим страницы автора 1
https://demo.wp-api.org/wp-json/wp/v2/pages/?author=1
Создание страницы
Алгоритм схож с работой функции wp_insert_post() .
Вид запроса
Доступ: нужна авторизация
POST /wp/v2/pages
Параметры запроса
date(строка)
Дата публикации страницы в часовом поясе сайта.
date_gmt(строка/datetime)
Дата публикации страницы, как GMT.
slug(строка)
Алфавитно-цифровой идентификатор страницы, уникальный для его типа. Ещё называют ярлыком.
status(строка)
Статус страницы. Может быть publish , future , draft , pending , private .
password(строка)
Пароль для защиты доступа к контенту и цитате (отрывку).
parent(число)
ID родительской страницы.
title(объект)
Заголовок страницы.
content(объект)
Контент страницы.
author(число)
Идентификатор (ID) автора страницы.
excerpt(объект)
Цитата (отрывок) страницы.
featured_media(число)
Идентификатор (ID) миниатюры (изображения) страницы.
comment_status(строка)
Можно ли оставлять комментарии к страницы или нет. Может быть open или closed .
ping_status(строка)
Статус пингов/трэкбэков, может быть open или closed .
menu_order
Порядок страницы по отношению к другой странице.
meta(массив)
Знания метаполей. Массив объектов.
template(строка)
Файл темы, который используется для отображения страницы.
Пример запроса
POST http://example.com/wp-json/wp/v2/pages/?title=Заголовок&slug=my-post&status=publish
wp/v2/pages/{id}
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/pages/1
Результат:
GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"id": {
"required": false,
"description": "Уникальный идентификатор для объекта.",
"type": "integer"
},
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
"type": "string"
},
"password": {
"required": false,
"description": "Пароль для записи, если она защищена паролем.",
"type": "string"
}
}
},
{
"methods": [
"POST",
"PUT",
"PATCH"
],
"args": {
"id": {
"required": false,
"description": "Уникальный идентификатор для объекта.",
"type": "integer"
},
"date": {
"required": false,
"description": "Дата публикации объекта, по временной зоне сайта.",
"type": "string"
},
"date_gmt": {
"required": false,
"description": "Время публикации объекта, по GMT.",
"type": "string"
},
"slug": {
"required": false,
"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
"type": "string"
},
"status": {
"required": false,
"enum": [
"publish",
"future",
"draft",
"pending",
"private"
],
"description": "Именованный статус для объекта.",
"type": "string"
},
"password": {
"required": false,
"description": "Пароль для защиты содержания и отрывка.",
"type": "string"
},
"parent": {
"required": false,
"description": "ID родителя объекта.",
"type": "integer"
},
"title": {
"required": false,
"description": "Название для объекта.",
"type": "object"
},
"content": {
"required": false,
"description": "Содержимое объекта.",
"type": "object"
},
"author": {
"required": false,
"description": "ID автора объекта.",
"type": "integer"
},
"excerpt": {
"required": false,
"description": "Отрывок объекта.",
"type": "object"
},
"featured_media": {
"required": false,
"description": "ID избранного медиа для объекта.",
"type": "integer"
},
"comment_status": {
"required": false,
"enum": [
"open",
"closed"
],
"description": "Открыты ли комментарии для объекта.",
"type": "string"
},
"ping_status": {
"required": false,
"enum": [
"open",
"closed"
],
"description": "Принимает ли объект уведомления.",
"type": "string"
},
"menu_order": {
"required": false,
"description": "Порядок объекта по отношению к другим объектам того же типа.",
"type": "integer"
},
"meta": {
"required": false,
"description": "Мета поля.",
"type": "object"
},
"template": {
"required": false,
"description": "Файл темы используемый для показа объекта.",
"type": "string"
}
}
},
{
"methods": [
"DELETE"
],
"args": {
"id": {
"required": false,
"description": "Уникальный идентификатор для объекта.",
"type": "integer"
},
"force": {
"required": false,
"default": false,
"description": "Игнорировать ли перемещение в корзину и принудительно удалять.",
"type": "boolean"
}
}
}
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "page",
"type": "object",
"properties": {
"date": {
"description": "Дата публикации объекта, по временной зоне сайта.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit",
"embed"
]
},
"date_gmt": {
"description": "Время публикации объекта, по GMT.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"guid": {
"description": "Глобальный уникальный идентификатор для объекта.",
"type": "object",
"context": [
"view",
"edit"
],
"readonly": true,
"properties": {
"raw": {
"description": "GUID для объекта, как он существует в базе данных.",
"type": "string",
"context": [
"edit"
],
"readonly": true
},
"rendered": {
"description": "GUID для объекта, преобразованный для показа.",
"type": "string",
"context": [
"view",
"edit"
],
"readonly": true
}
}
},
"id": {
"description": "Уникальный идентификатор для объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
},
"link": {
"description": "URL объекта.",
"type": "string",
"format": "uri",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
},
"modified": {
"description": "Дата последнего изменения объекта, по временной зоне сайта.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
],
"readonly": true
},
"modified_gmt": {
"description": "Дата последнего изменения объекта, в GMT.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
],
"readonly": true
},
"slug": {
"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
]
},
"status": {
"description": "Именованный статус для объекта.",
"type": "string",
"enum": [
"publish",
"future",
"draft",
"pending",
"private"
],
"context": [
"view",
"edit"
]
},
"type": {
"description": "Тип записи для объекта.",
"type": "string",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
},
"password": {
"description": "Пароль для защиты содержания и отрывка.",
"type": "string",
"context": [
"edit"
]
},
"parent": {
"description": "ID родителя объекта.",
"type": "integer",
"context": [
"view",
"edit"
]
},
"title": {
"description": "Название для объекта.",
"type": "object",
"context": [
"view",
"edit",
"embed"
],
"properties": {
"raw": {
"description": "Название объекта как оно существует в базе данных.",
"type": "string",
"context": [
"edit"
]
},
"rendered": {
"description": "HTML название объекта, преобразованное для показа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"content": {
"description": "Содержимое объекта.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": {
"raw": {
"description": "Содержимое объекта как оно существует в базе данных.",
"type": "string",
"context": [
"edit"
]
},
"rendered": {
"description": "HTML содержимое объекта преобразованное для показа.",
"type": "string",
"context": [
"view",
"edit"
],
"readonly": true
},
"protected": {
"description": "Защищено ли содержимое паролем.",
"type": "boolean",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"author": {
"description": "ID автора объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"excerpt": {
"description": "Отрывок объекта.",
"type": "object",
"context": [
"view",
"edit",
"embed"
],
"properties": {
"raw": {
"description": "Отрывок объекта как он существует в базе данных.",
"type": "string",
"context": [
"edit"
]
},
"rendered": {
"description": "HTML отрывок объекта, преобразованный для показа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
},
"protected": {
"description": "Защищать ли паролем отрывок.",
"type": "boolean",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"featured_media": {
"description": "ID избранного медиа для объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"comment_status": {
"description": "Открыты ли комментарии для объекта.",
"type": "string",
"enum": [
"open",
"closed"
],
"context": [
"view",
"edit"
]
},
"ping_status": {
"description": "Принимает ли объект уведомления.",
"type": "string",
"enum": [
"open",
"closed"
],
"context": [
"view",
"edit"
]
},
"menu_order": {
"description": "Порядок объекта по отношению к другим объектам того же типа.",
"type": "integer",
"context": [
"view",
"edit"
]
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
},
"template": {
"description": "Файл темы используемый для показа объекта.",
"type": "string",
"context": [
"view",
"edit"
]
}
},
"links": [
{
"rel": "https://api.w.org/action-publish",
"title": "Текущий пользователь может опубликовать эту запись.",
"href": "http://wptest.ru/wp-json/wp/v2/pages/{id}",
"targetSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"publish",
"future"
]
}
}
}
},
{
"rel": "https://api.w.org/action-assign-author",
"title": "Текущий пользователь может сменить автора для этой записи.",
"href": "http://wptest.ru/wp-json/wp/v2/pages/{id}",
"targetSchema": {
"type": "object",
"properties": {
"author": {
"type": "integer"
}
}
}
}
]
}
}
Получение страницы
Алгоритм схож с работой функции get_post() .
Вид запроса
Доступ: публичный
GET /wp/v2/pages/{id}
Параметры запроса
id (обязательный)
Уникальный идентификатор страницы
context
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе. Может быть view , embed , edit .
По умолчанию: view
password
Пароль для получения доступа к защищенной паролем странице.
Пример запроса
$ curl http://demo.wp-api.org/wp-json/wp/v2/pages/<id>
Пример запроса объект страницы с ID=850:
https://demo.wp-api.org/wp-json/wp/v2/pages/850
Ответ:
{
"id": 850,
"date": "2018-08-25T13:00:35",
"date_gmt": "2018-08-25T10:00:35",
"guid": {
"rendered": "http://wp-test.ru/?page_id=850"
},
"modified": "2018-08-29T10:55:34",
"modified_gmt": "2018-08-29T07:55:34",
"slug": "contacts",
"status": "publish",
"type": "page",
"link": "http://wp-test.ru/contacts/",
"title": {
"rendered": "Контакты"
},
"content": {
"rendered": "<p>Связаться с нами можно через эту форму</p> HTML Код формы",
"protected": false
},
"excerpt": {
"rendered": "<p>Связаться с нами можно через эту форму</p>\n",
"protected": false
},
"author": 1,
"featured_media": 0,
"parent": 0,
"menu_order": 0,
"comment_status": "closed",
"ping_status": "closed",
"template": "",
"meta": [],
"_links": {
"self": [
{
"href": "http://wp-test.ru/wp-json/wp/v2/pages/850"
}
],
"collection": [
{
"href": "http://wp-test.ru/wp-json/wp/v2/pages"
}
],
"about": [
{
"href": "http://wp-test.ru/wp-json/wp/v2/types/page"
}
],
"author": [
{
"embeddable": true,
"href": "http://wp-test.ru/wp-json/wp/v2/users/1"
}
],
"replies": [
{
"embeddable": true,
"href": "http://wp-test.ru/wp-json/wp/v2/comments?post=850"
}
],
"version-history": [
{
"count": 3,
"href": "http://wp-test.ru/wp-json/wp/v2/pages/850/revisions"
}
],
"predecessor-version": [
{
"id": 861,
"href": "http://wp-test.ru/wp-json/wp/v2/pages/850/revisions/861"
}
],
"wp:attachment": [
{
"href": "http://wp-test.ru/wp-json/wp/v2/media?parent=850"
}
],
"curies": [
{
"name": "wp",
"href": "https://api.w.org/{rel}",
"templated": true
}
]
}
}
Обновление страницы
Алгоритм схож с работой функции wp_update_post() .
Вид запроса
Доступ: нужна авторизация
POST|PUT|PATCH /wp/v2/pages/{id}
Параметры запроса
id(обязательный)
Уникальный идентификатор страницы, которую надо обновить.
Остальные параметры
Полностью совпадают с параметрами пункта "Создание страницы" .
Пример запроса
$ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/pages/<id> -d '{"title":"My New Title"}'
Удаление страницы
Алгоритм схож с работой функции wp_delete_post() .
Вид запроса
Доступ: нужна авторизация
DELETE /wp/v2/pages/{id}
Параметры запроса
id(обязательный)
Уникальный идентификатор страницы, которую надо удалить.
force(логический)
Удалять мимо корзины, если она включена. true
- принудительное удаление навсегда.
По умолчанию: false
Пример запроса
Удалим страницу 125:
$ curl -X DELETE http://demo.wp-api.org/wp-json/wp/v2/pages/125