Маршрути 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": [
                    "категорії",
                    "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": []
            }
        }
    }
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *