В этом разделе находится справочник по REST API в WordPress - это базовые маршруты, который WordPress поддерживает из коробки. Здесь содержатся сведения о конечных точках, доступных через API, их параметрах, формате ответа и т.д.
Список базовых маршрутов WP
Все маршруты WP 5.9
/
/batch/v1
/oembed/1.0
/oembed/1.0/embed
/oembed/1.0/proxy
/wp/v2
/wp/v2/posts
/wp/v2/posts/(?P<id>[\\d]+)
/wp/v2/posts/(?P<parent>[\\d]+)/revisions
/wp/v2/posts/(?P<parent>[\\d]+)/revisions/(?P<id>[\\d]+)
/wp/v2/posts/(?P<id>[\\d]+)/autosaves
/wp/v2/posts/(?P<parent>[\\d]+)/autosaves/(?P<id>[\\d]+)
/wp/v2/pages
/wp/v2/pages/(?P<id>[\\d]+)
/wp/v2/pages/(?P<parent>[\\d]+)/revisions
/wp/v2/pages/(?P<parent>[\\d]+)/revisions/(?P<id>[\\d]+)
/wp/v2/pages/(?P<id>[\\d]+)/autosaves
/wp/v2/pages/(?P<parent>[\\d]+)/autosaves/(?P<id>[\\d]+)
/wp/v2/media
/wp/v2/media/(?P<id>[\\d]+)
/wp/v2/media/(?P<id>[\\d]+)/post-process
/wp/v2/media/(?P<id>[\\d]+)/edit
/wp/v2/menu-items
/wp/v2/menu-items/(?P<id>[\\d]+)
/wp/v2/menu-items/(?P<id>[\\d]+)/autosaves
/wp/v2/menu-items/(?P<parent>[\\d]+)/autosaves/(?P<id>[\\d]+)
/wp/v2/blocks
/wp/v2/blocks/(?P<id>[\\d]+)
/wp/v2/blocks/(?P<parent>[\\d]+)/revisions
/wp/v2/blocks/(?P<parent>[\\d]+)/revisions/(?P<id>[\\d]+)
/wp/v2/blocks/(?P<id>[\\d]+)/autosaves
/wp/v2/blocks/(?P<parent>[\\d]+)/autosaves/(?P<id>[\\d]+)
/wp/v2/templates
/wp/v2/templates/(?P<id>([^\\/:<>\\*\\?\"\\|]+(?:\\/[^\\/:<>\\*\\?\"\\|]+)?)[\\/\\w-]+)
/wp/v2/templates/(?P<parent>[\\d]+)/revisions
/wp/v2/templates/(?P<parent>[\\d]+)/revisions/(?P<id>[\\d]+)
/wp/v2/templates/(?P<id>[\\d]+)/autosaves
/wp/v2/templates/(?P<parent>[\\d]+)/autosaves/(?P<id>[\\d]+)
/wp/v2/template-parts
/wp/v2/template-parts/(?P<id>([^\\/:<>\\*\\?\"\\|]+(?:\\/[^\\/:<>\\*\\?\"\\|]+)?)[\\/\\w-]+)
/wp/v2/template-parts/(?P<parent>[\\d]+)/revisions
/wp/v2/template-parts/(?P<parent>[\\d]+)/revisions/(?P<id>[\\d]+)
/wp/v2/template-parts/(?P<id>[\\d]+)/autosaves
/wp/v2/template-parts/(?P<parent>[\\d]+)/autosaves/(?P<id>[\\d]+)
/wp/v2/navigation
/wp/v2/navigation/(?P<id>[\\d]+)
/wp/v2/navigation/(?P<parent>[\\d]+)/revisions
/wp/v2/navigation/(?P<parent>[\\d]+)/revisions/(?P<id>[\\d]+)
/wp/v2/navigation/(?P<id>[\\d]+)/autosaves
/wp/v2/navigation/(?P<parent>[\\d]+)/autosaves/(?P<id>[\\d]+)
/wp/v2/types
/wp/v2/types/(?P<type>[\\w-]+)
/wp/v2/statuses
/wp/v2/statuses/(?P<status>[\\w-]+)
/wp/v2/taxonomies
/wp/v2/taxonomies/(?P<taxonomy>[\\w-]+)
/wp/v2/categories
/wp/v2/categories/(?P<id>[\\d]+)
/wp/v2/tags
/wp/v2/tags/(?P<id>[\\d]+)
/wp/v2/menus
/wp/v2/menus/(?P<id>[\\d]+)
/wp/v2/users
/wp/v2/users/(?P<id>[\\d]+)
/wp/v2/users/me
/wp/v2/users/(?P<user_id>(?:[\\d]+|me))/application-passwords
/wp/v2/users/(?P<user_id>(?:[\\d]+|me))/application-passwords/introspect
/wp/v2/users/(?P<user_id>(?:[\\d]+|me))/application-passwords/(?P<uuid>[\\w\\-]+)
/wp/v2/comments
/wp/v2/comments/(?P<id>[\\d]+)
/wp/v2/search
/wp/v2/block-renderer/(?P<name>[a-z0-9-]+/[a-z0-9-]+)
/wp/v2/block-types
/wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)
/wp/v2/block-types/(?P<namespace>[a-zA-Z0-9_-]+)/(?P<name>[a-zA-Z0-9_-]+)
/wp/v2/global-styles/themes/(?P<stylesheet>[^\\/:<>\\*\\?\"\\|]+(?:\\/[^\\/:<>\\*\\?\"\\|]+)?)
/wp/v2/global-styles/(?P<id>[\\/\\w-]+)
/wp/v2/settings
/wp/v2/themes
/wp/v2/themes/(?P<stylesheet>[^\\/:<>\\*\\?\"\\|]+(?:\\/[^\\/:<>\\*\\?\"\\|]+)?)
/wp/v2/plugins
/wp/v2/plugins/(?P<plugin>[^.\\/]+(?:\\/[^.\\/]+)?)
/wp/v2/sidebars
/wp/v2/sidebars/(?P<id>[\\w-]+)
/wp/v2/widget-types
/wp/v2/widget-types/(?P<id>[a-zA-Z0-9_-]+)
/wp/v2/widget-types/(?P<id>[a-zA-Z0-9_-]+)/encode
/wp/v2/widget-types/(?P<id>[a-zA-Z0-9_-]+)/render
/wp/v2/widgets
/wp/v2/widgets/(?P<id>[\\w\\-]+)
/wp/v2/block-directory/search
/wp/v2/pattern-directory/patterns
/wp-site-health/v1
/wp-site-health/v1/tests/background-updates
/wp-site-health/v1/tests/loopback-requests
/wp-site-health/v1/tests/https-status
/wp-site-health/v1/tests/dotorg-communication
/wp-site-health/v1/tests/authorization-header
/wp-site-health/v1/directory-sizes
/wp-block-editor/v1
/wp-block-editor/v1/url-details
/wp/v2/menu-locations
/wp/v2/menu-locations/(?P<location>[\\w-]+)
/wp-block-editor/v1/export
Документация по REST API
REST API WordPress предоставляет документацию по самому себе. Она позволят увидеть возможности маршрута: схему маршрута, какие в нем есть эндпоинты, какие параметры может принимать каждый эндпоинт.
Общую доку по всему REST API можно получить GET запросом по основному (корневому) маршруту /wp-json/ . Доку по отдельному маршруту можно получить отправив на него OPTIONS запрос.
Информация о REST по главному маршруту /wp-json/ Информация о REST по отдельному маршруту /wp-json/wp/v2/categories/
Пример
Например, зайдем на сайт apirequest.io и отправим OPTIONS запрос на маршрут (URL) http://demo.wp-api.org/wp-json/wp/v2/categories/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"
}
}
},
{
"methods": [
"POST",
"PUT",
"PATCH"
],
"args": {
"id": {
"required": false,
"description": "Уникальный идентификатор элемента.",
"type": "integer"
},
"description": {
"required": false,
"description": "HTML описание элемента.",
"type": "string"
},
"name": {
"required": false,
"description": "HTML название элемента.",
"type": "string"
},
"slug": {
"required": false,
"description": "Буквенно-цифровой идентификатор элемента уникальный для его типа.",
"type": "string"
},
"parent": {
"required": false,
"description": "ID элемента родителя.",
"type": "integer"
},
"meta": {
"required": false,
"description": "Мета поля.",
"type": "object"
}
}
},
{
"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": "category",
"type": "object",
"properties": {
"id": {
"description": "Уникальный идентификатор элемента.",
"type": "integer",
"context": [
"view",
"embed",
"edit"
],
"readonly": true
},
"count": {
"description": "Число опубликованных записей элемента.",
"type": "integer",
"context": [
"view",
"edit"
],
"readonly": true
},
"description": {
"description": "HTML описание элемента.",
"type": "string",
"context": [
"view",
"edit"
]
},
"link": {
"description": "URL элемента.",
"type": "string",
"format": "uri",
"context": [
"view",
"embed",
"edit"
],
"readonly": true
},
"name": {
"description": "HTML название элемента.",
"type": "string",
"context": [
"view",
"embed",
"edit"
],
"required": true
},
"slug": {
"description": "Буквенно-цифровой идентификатор элемента уникальный для его типа.",
"type": "string",
"context": [
"view",
"embed",
"edit"
]
},
"taxonomy": {
"description": "Тип атрибуции элемента.",
"type": "string",
"enum": [
"category",
"post_tag",
"nav_menu",
"link_category",
"post_format"
],
"context": [
"view",
"embed",
"edit"
],
"readonly": true
},
"parent": {
"description": "ID элемента родителя.",
"type": "integer",
"context": [
"view",
"edit"
]
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
}
}
}
}