Статусы записей (statuses)

Эти маршруты позволяют получить статусы постов.

Возможные маршруты (конечные точки маршрутов описаны ниже):

/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"
			}
		]
	}
}