Ці маршрути дозволяють отримати/створити/оновити/видалити рубрики (категорії).
Можливі маршрути (кінцеві точки маршрутів описані нижче):
/wp/v2/categories // працює з усіма рубриками
/wp/v2/categories/{ID} // працює із зазначеною замість {ID} рубрикою Клас контролера: WP_REST_Terms_Controller{}
Схема ресурсуСхема показує всі поля, які є об’єкта: поля об’єкта які поверне запит.
Параметр Контекст Опис id
число view, edit, embed ID терміну (рубрики).
Лише для читання. count
число view, edit Кількість записів що у терміні (рубриці).
Лише для читання. description
рядок view, edit Опис терміну (рубрики). link
рядок, uri view, edit, embed URL терміну (рубрик).
Лише для читання. name
рядок view, edit, embed Назва терміну (рубрики). slug
рядок view, edit, embed Слаг (ярлик) терміна (рубрики) зазвичай створюється з назви. taxonomy
рядок view, edit, embed Назва таксономії.
Лише для читання.
Можливо: category , post_tag , nav_menu , link_category , post_format parent
число view, edit ID батьківського терміну. meta
об’єкт view, edit Мета поля.
Контекст — показує, які поля об’єкта повернутися у відповіді під час створення запиту у вказаному контексті. Наприклад, при оновленні або створенні рубрики повернутися поля, що відповідають контексту edit .
wp/v2/categoriesЗапит OPTIONS до маршруту поверне повний опис цього маршруту: ендпоінти, їх параметри, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/categories GitHub
{
"namespace": "wp/v2",
"methods": [
"GET",
"POST"
],
"endpoints": [
{
"methods": [
"GET"
],
"args": {
"context": {
"required": false,
"default": "view",
"enum": [
"view",
"embed",
"edit"
],
"description": "Рамки, в яких зроблено запит, визначають поля відповіді.",
"type": "string"
},
"page": {
"required": false,
"default": 1,
"description": "Поточна сторінка колекції.",
"type": "integer"
},
"per_page": {
"required": false,
"default": 10,
"description": "Максимальна кількість об'єктів, що повертається у вибірці.",
"type": "integer"
},
"search": {
"required": false,
"description": "Обмежити результати до відповідних рядків.",
"type": "string"
},
"exclude": {
"required": false,
"default": [],
"description": "Переконатися, що вибірка виключає певні ID.",
"type": "array",
"items": {
"type": "integer"
}
},
"include": {
"required": false,
"default": [],
"description": "Обмежити вибірку до певних ID.",
"type": "array",
"items": {
"type": "integer"
}
},
"Order": {
"required": false,
"default": "asc",
"enum": [
"asc",
"desc"
],
"description": "Упорядкувати сортування атрибуту за зростанням або зменшенням.",
"type": "string"
},
"orderby": {
"required": false,
"default": "name",
"enum": [
"id",
"include",
"name",
"slug",
"include_slugs",
"term_group",
"description",
"count"
],
"description": "Сортувати колекцію за атрибутами елемента.",
"type": "string"
},
"hide_empty": {
"required": false,
"default": false,
"description": "Чи приховувати елементи не призначені жодного запису.",
"type": "boolean"
},
"parent": {
"required": false,
"description": "Обмежити вибірку елементами, призначеними певному батькові.",
"type": "integer"
},
"post": {
"required": false,
"description": "Обмежити вибірку елементами призначеними для певного запису.",
"type": "integer"
},
"slug": {
"required": false,
"description": "Обмежити вибірку елементами з одним або більше спеціальними ярликами.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
{
"methods": [
"POST"
],
"args": {
"description": {
"required": false,
"description": "HTML опис елемента.",
"type": "string"
},
"name": {
"required": true,
"description": "HTML назва елемента.",
"type": "string"
},
"slug": {
"required": false,
"description": "Буквенно-цифровий ідентифікатор елемента унікальний для його типу.",
"type": "string"
},
"parent": {
"required": false,
"description": "ID елемента батька.",
"type": "integer"
},
"meta": {
"required": false,
"description": "Мета поля.",
"type": "object"
}
}
}
],
"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": []
}
}
},
"_links": {
"self": "http://wptest.ru/wp-json/wp/v2/categories"
}
}
Список категорійОтримує список категорій на кшталт get_categories()
Вид запиту GET /wp/v2/categories Параметри запиту
context
Область, у якій виконується запит; визначає поля присутні у відповіді.Можливо:
view, embed, edit
За замовчуванням: view
page
Поточна сторінка пагінації.За замовчуванням: 1
per_page
Максимальна кількість елементів, що повертаються в результаті.Типово: 10
search
Обмежте результати тими, які відповідають рядку.
exclude
Виключає рубрики з ID.
include
Показує лише вказані тут рубрики. Вказується ID.
orderby
Яким полем сортувати?Можливо:
id ,
include ,
name ,
slug ,
term_group ,
description ,
count
Типово: name
order
Як сортувати?Можливо:
asc, desc
За замовчуванням: asc
hide_empty
Чи сховати порожні рубрики (де немає постів)?
parent
ID батьківської рубрики, дітей яких потрібно отримати.
post
ID посту, рубрики якого потрібно отримати.
slug
Вкажіть слаги рубрик, які потрібно отримати. Приклад запиту http://demo.wp-api.org/wp-json/wp/v2/categories Отримаємо рубрики посту 1
http://demo.wp-api.org/wp-json/wp/v2/categories?post=1
Створення категоріїАлгоритм схожий на роботу функції wp_insert_category()
Вид запиту Доступ: потрібна авторизація
POST /wp/v2/categories Параметри запиту
name
(обов’язковий)
Назва терміну (рубрики).
description
Опис терміну (рубрики).
slug
Слаг (ярлик) терміна (рубрики) зазвичай створюється з назви.
parent
ID батьківського терміну.
meta
Мета поля. Приклад запиту: POST http://example.com/wp-json/wp/v2/categories?name=Моя рубрика Відповідь
{
"id": 6,
"count": 0,
"description": "",
"link": "http://example.com/cat/%d0%bc%d0%be%d1%8f-%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0 %ba%d0%b0/",
"name": "Моя рубрика",
"slug": "%d0%bc%d0%be%d1%8f-%d1%80%d1%83%d0%b1%d1%80%d0%b8%d0%ba%d0%b0",
"taxonomy": "category",
"parent": 0,
"meta": [],
"_links": {
"self": [
{
"href": "http://example.com/wp-json/wp/v2/categories/6"
}
],
"collection": [
{
"href": "http://example.com/wp-json/wp/v2/categories"
}
],
"about": [
{
"href": "http://example.com/wp-json/wp/v2/taxonomies/category"
}
],
"wp:post_type": [
{
"href": "http://example.com/wp-json/wp/v2/posts?categories=6"
}
],
"curies": [
{
"name": "wp",
"href": "https://api.w.org/{rel}",
"templated": true
}
]
}
}
wp/v2/categories/{id}Запит OPTIONS до маршруту поверне повний опис цього маршруту: ендпоінти, їх параметри, схему.
$ curl -X OPTIONS -i 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": []
}
}
}
}
Отримання категоріїАлгоритм схожий на роботу функції get_category() .
Вид запиту GET /wp/v2/categories/{id} Параметри запиту
id
(число)
Ідентифікатор терміна.
context
(рядок)
Область, у якій виконується запит; визначає поля, присутні у відповіді.Можливо:
view, embed, edit
За замовчуванням: view
Приклад запиту http://demo.wp-api.org/wp-json/wp/v2/categories/25
Оновлення категоріїАлгоритм схожий на роботу функції wp_update_category()
Вид запиту POST /wp/v2/categories/{id} Параметри запиту
id
(обов’язковий)
ID терміну (рубрики).
name
Назва терміну (рубрики).
description
Опис терміну (рубрики).
slug
Слаг (ярлик) терміна (рубрики) зазвичай створюється з назви.
parent
ID батьківського терміну.
meta
Мета поля. Приклад запиту $ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/categories/25 -d '{"name":"Нове ім'я"}' Або
POST http://example.com/wp-json/wp/v2/categories/6?name=My rubrik&slug=My rubrik Відповідь
{
"id": 6,
"count": 0,
"description": "",
"link": "http://example.com/cat/my-rubrik/",
"name": "My rubrik",
"slug": "my-rubrik",
"taxonomy": "category",
"parent": 0,
"meta": [],
"_links": {
"self": [
{
"href": "http://example.com/wp-json/wp/v2/categories/6"
}
],
"collection": [
{
"href": "http://example.com/wp-json/wp/v2/categories"
}
],
"about": [
{
"href": "http://example.com/wp-json/wp/v2/taxonomies/category"
}
],
"wp:post_type": [
{
"href": "http://example.com/wp-json/wp/v2/posts?categories=6"
}
],
"curies": [
{
"name": "wp",
"href": "https://api.w.org/{rel}",
"templated": true
}
]
}
}
Видалення категоріїАлгоритм схожий на роботу функції wp_delete_term()
Вид запиту DELETE /wp/v2/categories/{id} Параметри запиту
id
(обов’язковий)
ID терміну (рубрики).
force
Завжди має бути true, оскільки терміни не підтримують кошик. Приклад запиту $ curl -X DELETE http://example.com/wp-json/wp/v2/categories/6?force=true Відповідь
{
"deleted": true,
"previous": {
"id": 6,
"count": 0,
"description": "",
"link": "http://example.com/cat/my-rubrik/",
"name": "My rubrik",
"slug": "my-rubrik",
"taxonomy": "category",
"parent": 0,
"meta": []
}
} Відповідь якщо такої рубрики немає
{
"code": "rest_term_invalid",
"message": "Елемент не існує.",
"data": {
"status": 404
}
}