Маршрути 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 запит.
Інформація про REST головним маршрутом/wp-json/
Інформація про REST за окремим маршрутом/wp-json/wp/v2/categories/
приклад
Демо-установка REST API (для тестування) доступна за посиланням: https://demo.wp-api.org/wp-json/ . Вказаний сайт надає дані доступні для читання.
Наприклад, зайдемо на сайт apirequest.io та відправимо OPTIONS запит на маршрут (URL) http://demo.wp-api.org/wp-json/wp/v2/categories/1 . У відповідь отримаємо документацію за цим маршрутом:
{
"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": [
"категорії",
"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": []
}
}
}
}