Маршруты WP из коробки
В этом разделе находится справочник по REST API в WordPress - это базовые маршруты, который WordPress поддерживает из коробки. Здесь содержатся сведения о конечных точках, доступных через API, их параметрах, формате ответа и т.д.
Список базовых маршрутов WP
Ресурс | Маршрут (URL) |
---|---|
Записи (posts) | /wp-json/wp/v2/posts |
Ревизии (post Revisions) | /wp-json/wp/v2/revisions |
Категории (categories) | /wp-json/wp/v2/categories |
Теги (tags) | /wp-json/wp/v2/tags |
Страницы (pages) | /wp-json/wp/v2/pages |
Комментарии (comments) | /wp-json/wp/v2/comments |
Таксономии (taxonomies) | /wp-json/wp/v2/taxonomies |
Медиа (media) | /wp-json/wp/v2/media |
Пользователи (users) | /wp-json/wp/v2/users |
Типы записей (post Types) | /wp-json/wp/v2/types |
Статусы записей (post Statuses) | /wp-json/wp/v2/statuses |
Настройки (settings) | /wp-json/wp/v2/settings |
Все маршруты 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 запрос.
Пример
Например, зайдем на сайт 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": [] } } } }