WordPress как на ладони
rgbcode is looking for WordPress developers. Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Типы записей (types)

Эти маршруты позволяют получить данные всех или указанного типа записи. Работает с данными самого типа записи, а не записями указанного типа!

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

/wp/v2/types              // работает со всеми типами записей
/wp/v2/types/{post_type}  // работает с указанным вместо {post_type} типом записи

Класс контроллера: WP_REST_Post_Types_Controller{}

Схема ресурса

Схема показывает все поля, которые существуют для объекта: поля объекта которые вернет запрос.

Параметр Контекст Описание
capabilities
объект
edit Все возможности, используемые типом записи.
Только для чтения.
description
строка
view, edit Описание типа записи.
Только для чтения.
hierarchical
true/false
view, edit Может ли этот тип записи быть родительским.
Только для чтения.
viewable
true/false
edit Может ли тип записи быть доступным для просмотра.
Только для чтения.
labels
объект
edit Метки типа записи для различных контекстов.
Только для чтения.
name
строка
view, edit, embed Название типа записи.
Только для чтения.
slug
строка
view, edit, embed Ярлык типа записи.
Только для чтения.
supports
объект
edit Все возможности поддерживаемые типом записи.
Только для чтения.
taxonomies
массив
view, edit Таксономии ассоциированные с типом записи.
Только для чтения.
rest_base
строка
view, edit, embed Базовый путь REST для типа записи.
Только для чтения.

Описание маршрута

$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/types
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": "type",
        "type": "object",
        "properties": {
            "capabilities": {
                "description": "Все возможности используемые типом записи.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "description": {
                "description": "Человекочитаемое описание типа записи.",
                "type": "string",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "hierarchical": {
                "description": "Может ли этот тип записи быть родительским.",
                "type": "boolean",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "viewable": {
                "description": "Может ли тип записи быть доступным для просмотра.",
                "type": "boolean",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "labels": {
                "description": "Человекочитабельные метки для типа записи для различных контекстов.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "name": {
                "description": "Название для типа записи.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "slug": {
                "description": "Буквенно-цифровой идентификатор типа записи.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "supports": {
                "description": "Все возможности поддерживаемые типом записи.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "taxonomies": {
                "description": "Таксономии ассоциированные с типом записи.",
                "type": "array",
                "items": {
                    "type": "string"
                },
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "rest_base": {
                "description": "базовый путь REST для типа записи.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            }
        }
    },
    "_links": {
        "self": "http://wptest.ru/wp-json/wp/v2/types"
    }
}
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/types/{post_type}
GitHub
{
    "namespace": "wp/v2",
    "methods": [
        "GET"
    ],
    "endpoints": [
        {
            "methods": [
                "GET"
            ],
            "args": {
                "type": {
                    "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": "type",
        "type": "object",
        "properties": {
            "capabilities": {
                "description": "Все возможности используемые типом записи.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "description": {
                "description": "Человекочитаемое описание типа записи.",
                "type": "string",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "hierarchical": {
                "description": "Может ли этот тип записи быть родительским.",
                "type": "boolean",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "viewable": {
                "description": "Может ли тип записи быть доступным для просмотра.",
                "type": "boolean",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "labels": {
                "description": "Человекочитабельные метки для типа записи для различных контекстов.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "name": {
                "description": "Название для типа записи.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "slug": {
                "description": "Буквенно-цифровой идентификатор типа записи.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "supports": {
                "description": "Все возможности поддерживаемые типом записи.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "taxonomies": {
                "description": "Таксономии ассоциированные с типом записи.",
                "type": "array",
                "items": {
                    "type": "string"
                },
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "rest_base": {
                "description": "базовый путь REST для типа записи.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            }
        }
    }
}

Список всех типов записей

Алгоритм схож с работой функции get_post_types().

Вид запроса

Доступ: публичный

GET /wp/v2/types

Параметры запроса

context(строка)
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе.
Может быть: view, embed, edit
По умолчанию: view

Пример запроса

$ curl http://demo.wp-api.org/wp-json/wp/v2/types

Ответ:

{
	"post": {
		"description": "",
		"hierarchical": false,
		"name": "Записи",
		"slug": "post",
		"taxonomies": [
			"category",
			"post_tag"
		],
		"rest_base": "posts",
		"_links": {
			"collection": [
				{
					"href": "http://example.com/wp-json/wp/v2/types"
				}
			],
			"wp:items": [
				{
					"href": "http://example.com/wp-json/wp/v2/posts"
				}
			],
			"curies": [
				{
					"name": "wp",
					"href": "https://api.w.org/{rel}",
					"templated": true
				}
			]
		}
	},
	"page": {
		"description": "",
		"hierarchical": true,
		"name": "Страницы",
		"slug": "page",
		"taxonomies": [],
		"rest_base": "pages",
		"_links": {
			"collection": [
				{
					"href": "http://example.com/wp-json/wp/v2/types"
				}
			],
			"wp:items": [
				{
					"href": "http://example.com/wp-json/wp/v2/pages"
				}
			],
			"curies": [
				{
					"name": "wp",
					"href": "https://api.w.org/{rel}",
					"templated": true
				}
			]
		}
	},
	"attachment": {
		"description": "",
		"hierarchical": false,
		"name": "Медиафайлы",
		"slug": "attachment",
		"taxonomies": [],
		"rest_base": "media",
		"_links": {
			"collection": [
				{
					"href": "http://example.com/wp-json/wp/v2/types"
				}
			],
			"wp:items": [
				{
					"href": "http://example.com/wp-json/wp/v2/media"
				}
			],
			"curies": [
				{
					"name": "wp",
					"href": "https://api.w.org/{rel}",
					"templated": true
				}
			]
		}
	}
}

Получение указанного типа записи

Получает данные указанного типа записи.

Вид запроса

Доступ: публичный

GET /wp/v2/types/{post_type}

Параметры запроса

type(строка) (обязательный)
Название типа записи, данные которого нужно получить.
context(строка)
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе.
Может быть: view, embed, edit
По умолчанию: view

Пример запроса

$ curl http://demo.wp-api.org/wp-json/wp/v2/types/post

Ответ:

{
	"description": "",
	"hierarchical": false,
	"name": "Записи",
	"slug": "post",
	"taxonomies": [
		"category",
		"post_tag"
	],
	"rest_base": "posts",
	"_links": {
		"collection": [
			{
				"href": "http://example.com/wp-json/wp/v2/types"
			}
		],
		"wp:items": [
			{
				"href": "http://example.com/wp-json/wp/v2/posts"
			}
		],
		"curies": [
			{
				"name": "wp",
				"href": "https://api.w.org/{rel}",
				"templated": true
			}
		]
	}
}
2 комментария
    Войти