Эти маршруты позволяют получить статусы постов.
Возможные маршруты (конечные точки маршрутов описаны ниже):
/wp/v2/statuses // работает со всеми статусами записей
/wp/v2/statuses/{status} // работает с указанным вместо {status} статусом
Класс контроллера: WP_REST_Post_Statuses_Controller{}
Схема ресурса
Схема показывает все поля, которые существуют для объекта: поля объекта которые вернет запрос.
Параметр
Контекст
Описание
name строка
view, edit, embed
Название статуса. Только для чтения.
private true/false
edit
Должны ли записи с этим статусом быть личными. Только для чтения.
protected true/false
edit
Должны ли быть защищены записи с этим статусом. Только для чтения.
public true/false
view, edit
Показывать ли записи с этим статусом обычным юзерам. Только для чтения.
queryable true/false
view, edit
Разрешать ли публичные запросы записей с этим статусом. Только для чтения.
show_in_list true/false
edit
Включать ли записи в список редактирования для их типов записи. Только для чтения.
slug строка
view, edit, embed
Ярлык статуса. Только для чтения.
Описание маршрута
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/statuses
GitHub {
"namespace": "wp/v2",
"methods": [
"GET"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
"type": "string"
}
}
}
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "status",
"type": "object",
"properties": {
"name": {
"description": "Название статуса.",
"type": "string",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
},
"private": {
"description": "Должны ли записи с этим статусом быть личными.",
"type": "boolean",
"context": [
"edit"
],
"readonly": true
},
"protected": {
"description": "Должны ли быть защищены записи с этим статусом.",
"type": "boolean",
"context": [
"edit"
],
"readonly": true
},
"public": {
"description": "Показывать ли записи с этим статусом на части сайта для посетителей.",
"type": "boolean",
"context": [
"view",
"edit"
],
"readonly": true
},
"queryable": {
"description": "Разрешать ли публичные запросы записей с этим статусом.",
"type": "boolean",
"context": [
"view",
"edit"
],
"readonly": true
},
"show_in_list": {
"description": "Включать ли записи в список редактирования для их типов записи.",
"type": "boolean",
"context": [
"edit"
],
"readonly": true
},
"slug": {
"description": "Буквенно-цифровой идентификатор статуса.",
"type": "string",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
}
}
},
"_links": {
"self": "http://wptest.ru/wp-json/wp/v2/statuses"
}
}
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/statuses/{status}
GitHub {
"namespace": "wp/v2",
"methods": [
"GET"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"status": {
"required": false,
"description": "Буквенно-цифровой идентификатор статуса.",
"type": "string"
},
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки в которых сделан запрос, определяют поля в ответе.",
"type": "string"
}
}
}
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "status",
"type": "object",
"properties": {
"name": {
"description": "Название статуса.",
"type": "string",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
},
"private": {
"description": "Должны ли записи с этим статусом быть личными.",
"type": "boolean",
"context": [
"edit"
],
"readonly": true
},
"protected": {
"description": "Должны ли быть защищены записи с этим статусом.",
"type": "boolean",
"context": [
"edit"
],
"readonly": true
},
"public": {
"description": "Показывать ли записи с этим статусом на части сайта для посетителей.",
"type": "boolean",
"context": [
"view",
"edit"
],
"readonly": true
},
"queryable": {
"description": "Разрешать ли публичные запросы записей с этим статусом.",
"type": "boolean",
"context": [
"view",
"edit"
],
"readonly": true
},
"show_in_list": {
"description": "Включать ли записи в список редактирования для их типов записи.",
"type": "boolean",
"context": [
"edit"
],
"readonly": true
},
"slug": {
"description": "Буквенно-цифровой идентификатор статуса.",
"type": "string",
"context": [
"embed",
"view",
"edit"
],
"readonly": true
}
}
}
}
Список всех статусов записи
Алгоритм схож с работой функции get_post_stati() .
Вид запроса
Доступ: публичный
GET /wp/v2/statuses
Параметры запроса
context(строка)
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе.
Может быть: view, embed, edit
По умолчанию: view
Пример запроса
$ curl http://demo.wp-api.org/wp-json/wp/v2/statuses
Ответ:
{
"publish": {
"name": "Опубликовано",
"public": true,
"queryable": true,
"slug": "publish",
"_links": {
"archives": [
{
"href": "http://example.com/wp-json/wp/v2/posts"
}
]
}
},
"future": {
"name": "Запланировано",
"public": false,
"queryable": false,
"slug": "future",
"_links": {
"archives": [
{
"href": "http://example.com/wp-json/wp/v2/posts?status=future"
}
]
}
},
"draft": {
"name": "Черновик",
"public": false,
"queryable": false,
"slug": "draft",
"_links": {
"archives": [
{
"href": "http://example.com/wp-json/wp/v2/posts?status=draft"
}
]
}
},
"pending": {
"name": "На утверждении",
"public": false,
"queryable": false,
"slug": "pending",
"_links": {
"archives": [
{
"href": "http://example.com/wp-json/wp/v2/posts?status=pending"
}
]
}
},
"private": {
"name": "Личное",
"public": false,
"queryable": false,
"slug": "private",
"_links": {
"archives": [
{
"href": "http://example.com/wp-json/wp/v2/posts?status=private"
}
]
}
},
"trash": {
"name": "В корзине",
"public": false,
"queryable": false,
"slug": "trash",
"_links": {
"archives": [
{
"href": "http://example.com/wp-json/wp/v2/posts?status=trash"
}
]
}
}
}
Получение указанного статуса записи
Получает данные отдельного указанного статуса записи.
Вид запроса
Доступ: публичный
GET /wp/v2/statuses/{status}
Параметры запроса
status(строка) (обязательный)
Название статуса.
context(строка)
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе.
Может быть: view, embed, edit
По умолчанию: view
Пример запроса
$ curl http://demo.wp-api.org/wp-json/wp/v2/statuses/publish
Ответ:
{
"name": "Опубликовано",
"public": true,
"queryable": true,
"slug": "publish",
"_links": {
"archives": [
{
"href": "http://example.com/wp-json/wp/v2/posts"
}
]
}
}