Эти маршруты позволяют получить/создать/обновить/удалить метки (теги).
Возможные маршруты (конечные точки маршрутов описаны ниже):
/wp/v2/tags // работает со всеми метками
/wp/v2/tags/{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 .
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/tags
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"
}
},
"offset": {
"required": false,
"description": "Сдвиг выборки на определенное число объектов.",
"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"
},
"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"
},
"meta": {
"required": false,
"description": "Мета поля.",
"type": "object"
}
}
}
],
"schema": {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "tag",
"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
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
}
}
},
"_links": {
"self": "http://wptest.ru/wp-json/wp/v2/tags"
}
}
Список меток
Получает список меток, на подобие get_tags()
Вид запроса
GET /wp/v2/tags
Параметры запроса
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/tags
Получим метки поста 1
http://demo.wp-api.org/wp-json/wp/v2/tags?post=1
Создание метки
Алгоритм схож с работой функции wp_insert_term()
Вид запроса
Доступ: нужна авторизация
POST /wp/v2/tags
Параметры запроса
name(обязательный)
Название термина (метки).
description
Описание термина (метки).
slug
Слаг (ярлык) термина (метки), обычно создается из названия.
parent
ID родительского термина.
meta
Мета поля.
Пример запроса:
POST http://example.com/wp-json/wp/v2/tags?name=Моя метка
Ответ
{
"id": 6,
"count": 0,
"description": "",
"link": "http://example.com/tag/moya-metka/",
"name": "Моя метока",
"slug": "moya-metka",
"taxonomy": "post_tag",
"parent": 0,
"meta": [],
"_links": {
"self": [
{
"href": "http://example.com/wp-json/wp/v2/tags/6"
}
],
"collection": [
{
"href": "http://example.com/wp-json/wp/v2/tags"
}
],
"about": [
{
"href": "http://example.com/wp-json/wp/v2/taxonomies/post_tag"
}
],
"wp:post_type": [
{
"href": "http://example.com/wp-json/wp/v2/posts?tags=6"
}
],
"curies": [
{
"name": "wp",
"href": "https://api.w.org/{rel}",
"templated": true
}
]
}
}
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/tags/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"
},
"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": "tag",
"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
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
}
}
}
}
Получение метки
Алгоритм схож с работой функции get_tag() .
Вид запроса
GET /wp/v2/tags/{id}
Параметры запроса
id(число)
Идентификатор термина.
context(строка)
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе.
Может быть: view, embed, edit
По умолчанию: view
Пример запроса
Получим метку 25
http://demo.wp-api.org/wp-json/wp/v2/tags/25
Обновление метки
Алгоритм схож с работой функции wp_update_term() .
Вид запроса
Доступ: нужна авторизация
POST /wp/v2/tags/{id}
Параметры запроса
id(обязательный)
ID термина (метки).
name
Название термина (метки).
description
Описание термина (метки).
slug
Слаг (ярлык) термина (метки), обычно создается из названия.
parent
ID родительского термина.
meta
Мета поля.
Пример запроса
$ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/tags/25 -d '{"name":"Новое имя"}'
Или
POST http://example.com/wp-json/wp/v2/tags/6?name=Моя метка&slug=my tag
Ответ
{
"id": 6,
"count": 0,
"description": "",
"link": "http://example.com/tag/moya-metka/",
"name": "Моя метка",
"slug": "my-tag",
"taxonomy": "post_tag",
"parent": 0,
"meta": [],
"_links": {
"self": [
{
"href": "http://example.com/wp-json/wp/v2/tags/6"
}
],
"collection": [
{
"href": "http://example.com/wp-json/wp/v2/tags"
}
],
"about": [
{
"href": "http://example.com/wp-json/wp/v2/taxonomies/post_tag"
}
],
"wp:post_type": [
{
"href": "http://example.com/wp-json/wp/v2/posts?tags=6"
}
],
"curies": [
{
"name": "wp",
"href": "https://api.w.org/{rel}",
"templated": true
}
]
}
}
Удаление метки
Алгоритм схож с работой функции wp_delete_term()
Вид запроса
Доступ: нужна авторизация
DELETE /wp/v2/tags/{id}
Параметры запроса
id(обязательный)
ID термина (метки).
force
Всегда должен быть true, так как термины не поддерживают корзину.
Пример запроса
$ curl -X DELETE http://example.com/wp-json/wp/v2/tags/6?force=true
Ответ
{
"deleted": true,
"previous": {
"id": 6,
"count": 0,
"description": "",
"link": "http://example.com/tag/moya-metka/",
"name": "Моя метка",
"slug": "moya-metka",
"taxonomy": "post_tag",
"parent": 0,
"meta": []
}
}
Ответ если такой метки нет
{
"code": "rest_term_invalid",
"message": "Элемент не существует.",
"data": {
"status": 404
}
}