Маршрути 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 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": [] } } } }