Эти маршруты позволяют получить/удалить ревизии записей.
Возможные маршруты (конечные точки маршрутов описаны ниже):
/wp/v2/posts/{parent}/revisions // получает ревизии указанной в {parent} записи
/wp/v2/posts/{parent}/revisions/{ID} // получает указанную в {ID} ревизию записи
Класс контроллера: WP_REST_Revisions_Controller{}
Схема ресурса
Схема показывает все поля, которые существуют для объекта запись: поля объекта которые вернет запрос.
Параметр
Контекст
Описание
author число
view, edit, embed
ID автора объекта.
date строка
view, edit, embed
Дата публикации объекта, по временной зоне сайта.
date_gmt строка
view, edit
Время публикации объекта, по GMT.
guid объект
view, edit
Глобальный уникальный идентификатор для объекта.
id число
view, edit, embed
Уникальный идентификатор для объекта.
modified строка
view, edit
Дата последнего изменения объекта, по временной зоне сайта.
modified_gmt строка
view, edit
Дата последнего изменения объекта, в GMT.
parent число
view, edit, embed
ID родителя объекта.
slug строка
view, edit, embed
Буквенно-цифровой идентификатор для объекта уникальный для его типа.
title объект
view, edit, embed
Название для объекта.
content объект
view, edit
Содержимое объекта.
excerpt объект
view, edit, embed
Отрывок объекта.
wp/v2/posts/{parent}/revisions
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts/{parent}/revisions
GitHub
{
"namespace": "wp/v2",
"methods": [
"GET"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"parent": {
"required": false,
"description": "ID родителя объекта.",
"type": "integer"
},
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
"type": "string"
}
}
}
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "post-revision",
"type": "object",
"properties": {
"author": {
"description": "ID автора объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"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"
]
},
"modified": {
"description": "Дата последнего изменения объекта, по временной зоне сайта.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"modified_gmt": {
"description": "Дата последнего изменения объекта, в GMT.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"parent": {
"description": "ID родителя объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"slug": {
"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
]
},
"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
}
}
},
"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
}
}
}
}
}
}
Список редакций записи
Алгоритм схож с работой функции wp_get_post_revisions() .
Вид запроса
Доступ: публичный
GET /wp/v2/posts/{parent}/revisions
Параметры запроса
parent(число)
ID записи, ревизии которой нужно получить. Указывается в маршруте.
context(строка)
Область, в которой выполняется запрос; определяет поля присутствующие в ответе.
Может быть: view, embed, edit
По умолчанию: view
Пример запроса
$ curl http://demo.wp-api.org/wp-json/wp/v2/posts/72/revisions
[
{
"author": 1,
"date": "2018-08-03T22:11:48",
"date_gmt": "2018-08-03T22:11:48",
"id": 97,
"modified": "2018-08-03T22:11:48",
"modified_gmt": "2018-08-03T22:11:48",
"parent": 72,
"slug": "72-revision-v1",
"guid": {
"rendered": "http://example.com/72-revision-v1/"
},
"title": {
"rendered": "Заголовок записи"
},
"content": {
"rendered": "контент записи"
},
"excerpt": {
"rendered": ""
},
"_links": {
"parent": [
{
"href": "http://example.com/wp-json/wp/v2/posts/72"
}
]
}
},
{ ... },
{ ... },
]
wp/v2/posts/{parent}/revisions/{id}
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts/{parent}/revisions/{id}
GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"DELETE"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"parent": {
"required": false,
"description": "ID родителя объекта.",
"type": "integer"
},
"id": {
"required": false,
"description": "Уникальный идентификатор для объекта.",
"type": "integer"
},
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
"type": "string"
}
}
},
{
"methods": [
"DELETE"
],
"args": {
"parent": {
"required": false,
"description": "ID родителя объекта.",
"type": "integer"
},
"id": {
"required": false,
"description": "Уникальный идентификатор для объекта.",
"type": "integer"
},
"force": {
"required": false,
"default": false,
"description": "Должно быть истинно, так как ревизии не поддерживают перемещение в корзину. ",
"type": "boolean"
}
}
}
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "post-revision",
"type": "object",
"properties": {
"author": {
"description": "ID автора объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"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"
]
},
"modified": {
"description": "Дата последнего изменения объекта, по временной зоне сайта.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"modified_gmt": {
"description": "Дата последнего изменения объекта, в GMT.",
"type": "string",
"format": "date-time",
"context": [
"view",
"edit"
]
},
"parent": {
"description": "ID родителя объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"slug": {
"description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
"type": "string",
"context": [
"view",
"edit",
"embed"
]
},
"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
}
}
},
"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
}
}
}
}
}
}
Получение отдельной редакции записи
Алгоритм схож с работой функции get_post() .
Вид запроса
Доступ: публичный
GET /wp/v2/posts/{parent}/revisions/{id}
Параметры запроса
parent(число)
ID записи, ревизию которой нужно получить. Указывается в маршруте.
id(число)
ID ревизии. Указывается в маршруте.
context(строка)
Область, в которой выполняется запрос; определяет поля присутствующие в ответе.
Может быть: view, embed, edit
По умолчанию: view
Пример запроса
$ curl http://example.com/wp-json/wp/v2/posts/72/revisions/97
{
"author": 1,
"date": "2018-08-03T22:11:48",
"date_gmt": "2018-08-03T22:11:48",
"id": 97,
"modified": "2018-08-03T22:11:48",
"modified_gmt": "2018-08-03T22:11:48",
"parent": 72,
"slug": "72-revision-v1",
"guid": {
"rendered": "http://example.com/72-revision-v1/"
},
"title": {
"rendered": "Заголовок записи"
},
"content": {
"rendered": "контент записи"
},
"excerpt": {
"rendered": ""
},
"_links": {
"parent": [
{
"href": "http://example.com/wp-json/wp/v2/posts/72"
}
]
}
}
Удаление редакции записи
Алгоритм схож с работой функции wp_delete_post_revision() .
Вид запроса
Доступ: нужна авторизация
DELETE /wp/v2/posts/{parent}/revisions/{id}
Параметры запроса
parent(число)
ID записи, ревизию которой нужно получить. Указывается в маршруте.
id(число)
ID ревизии. Указывается в маршруте.
force
Всегда должен быть true, так как ревизии не поддерживают корзину.
По умолчанию: false
Пример запроса
$ curl -X DELETE http://example.com/wp-json/wp/v2/posts/72/revisions/97
Ошибка: не указан параметр force=true :
{
"code": "rest_trash_not_supported",
"message": "Ревизии нельзя переместить в корзину. Установите 'force=true' для удаления.",
"data": {
"status": 501
}
}
Укажем нужный параметр:
$ curl -X DELETE http://example.com/wp-json/wp/v2/posts/72/revisions/97?force=true
{
"deleted": true,
"previous": {
"author": 1,
"date": "2018-08-03T22:11:48",
"date_gmt": "2018-08-03T22:11:48",
"id": 97,
"modified": "2018-08-03T22:11:48",
"modified_gmt": "2018-08-03T22:11:48",
"parent": 72,
"slug": "72-revision-v1",
"guid": {
"rendered": "http://example.com/72-revision-v1/"
},
"title": {
"rendered": "Заголовок записи"
},
"content": {
"rendered": "контент ревизии"
},
"excerpt": {
"rendered": ""
}
}
}