Теги (tags)

Ці маршрути дозволяють отримати/створити/оновити/видалити мітки (теги).

Можливі маршрути (кінцеві точки маршрутів описані нижче):

/wp/v2/tags // працює з усіма мітками
/wp/v2/tags/{ID} // працює із зазначеною замість {ID} міткою

Клас контролера: WP_REST_Terms_Controller{}




Схема ресурсу

Схема показує всі поля, які є об’єкта: поля об’єкта які поверне запит.

ПараметрКонтекстОпис
id
число
view, edit, embedID терміну (мітки).
Лише для читання.
count
число
view, editКількість записів, що знаходяться в терміні (мітці).
Лише для читання.
description
рядок
view, editОпис терміну (мітки).
link
рядок, uri
view, edit, embedURL терміну (мітки).
Лише для читання.
name
рядок
view, edit, embedНазва терміна (мітки).
slug
рядок
view, edit, embedСлаг (ярлик) терміна (мітки) зазвичай створюється з назви.
taxonomy
рядок
view, edit, embedНазва таксономії.
Лише для читання.
Можливо: category , post_tag , nav_menu , link_category , post_format
parent
число
view, editID батьківського терміну.
meta
об’єкт
view, editМета поля.

Контекст — показує, які поля об’єкта повернутися у відповіді під час створення запиту у вказаному контексті. Наприклад, при оновленні або створенні рубрики повернутися поля, що відповідають контексту edit .




wp/v2/tags

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




wp/v2/tags/{id}

Запит 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": [
                    "категорії",
                    "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
	}
}

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

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