WordPress как на ладони
rgbcode is looking for WordPress developers. Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Таксономии (taxonomies)

Эти маршруты позволяют получить таксономии.

Возможные маршруты (конечные точки маршрутов описаны ниже):

/wp/v2/taxonomies               // работает со всеми таксономиями
/wp/v2/taxonomies/{taxonomy}    // работает с указанной вместо {taxonomy} таксономией

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

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

Схема показывает все поля, которые существуют для объекта: поля объекта которые вернет запрос.

Параметр Контекст Описание
capabilities
объект
edit Все возможности, используемые таксономией.
Только для чтения.
description
строка
view, edit Описание таксономии.
Только для чтения.
hierarchical
логический
view, edit Таксономия является иерархической или нет.
Только для чтения.
labels
объект
edit Заголовки таксономии (различные названия).
Только для чтения.
name
строка
view, edit, embed Название таксономии.
Только для чтения.
slug
строка
view, edit, embed Буквенно-цифровой идентификатор для таксономии.
Только для чтения.
show_cloud
логический
edit Должно ли быть показано облако элементов.
Только для чтения.
types
массив
view, edit Типы, связанные с таксономией.
Только для чтения.
rest_base
строка
view, edit, embed Базовый путь REST API для таксономии.
Только для чтения.

Описание маршрута

Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.

$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/taxonomies
GitHub
{
    "namespace": "wp/v2",
    "methods": [
        "GET"
    ],
    "endpoints": [
        {
            "methods": [
                "GET"
            ],
            "args": {
                "context": {
                    "required": false,
                    "default": "view",
                    "enum": [
                        "view",
                        "embed",
                        "edit"
                    ],
                    "description": "Рамки в которых сделан запрос, определяют поля в ответе.",
                    "type": "string"
                },
                "type": {
                    "required": false,
                    "description": "Ограничить выборку таксономиями ассоциированными с определенным типом записи.",
                    "type": "string"
                }
            }
        }
    ],
    "schema": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "taxonomy",
        "type": "object",
        "properties": {
            "capabilities": {
                "description": "Все возможности используемые таксономией.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "description": {
                "description": "Человекочитаемое описание таксономии.",
                "type": "string",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "hierarchical": {
                "description": "Может ли таксономия быть родительской.",
                "type": "boolean",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "labels": {
                "description": "Человекочитаемые метки таксономии для различных контекстов.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "name": {
                "description": "Название таксономии.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "slug": {
                "description": "Буквенно-цифровой идентификатор таксономии.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "show_cloud": {
                "description": "Должно ли быть показано облако элементов.",
                "type": "boolean",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "types": {
                "description": "Типы ассоциированные с таксономией.",
                "type": "array",
                "items": {
                    "type": "string"
                },
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "rest_base": {
                "description": "базовый путь REST для таксономии.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            }
        }
    },
    "_links": {
        "self": "http://wp-test.ru/wp-json/wp/v2/taxonomies"
    }
}
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/taxonomies/{taxonomy}
GitHub
{
    "namespace": "wp/v2",
    "methods": [
        "GET"
    ],
    "endpoints": [
        {
            "methods": [
                "GET"
            ],
            "args": {
                "taxonomy": {
                    "required": false,
                    "description": "Буквенно-цифровой идентификатор таксономии.",
                    "type": "string"
                },
                "context": {
                    "required": false,
                    "default": "view",
                    "enum": [
                        "view",
                        "embed",
                        "edit"
                    ],
                    "description": "Рамки в которых сделан запрос, определяют поля в ответе.",
                    "type": "string"
                }
            }
        }
    ],
    "schema": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "taxonomy",
        "type": "object",
        "properties": {
            "capabilities": {
                "description": "Все возможности используемые таксономией.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "description": {
                "description": "Человекочитаемое описание таксономии.",
                "type": "string",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "hierarchical": {
                "description": "Может ли таксономия быть родительской.",
                "type": "boolean",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "labels": {
                "description": "Человекочитаемые метки таксономии для различных контекстов.",
                "type": "object",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "name": {
                "description": "Название таксономии.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "slug": {
                "description": "Буквенно-цифровой идентификатор таксономии.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "show_cloud": {
                "description": "Должно ли быть показано облако элементов.",
                "type": "boolean",
                "context": [
                    "edit"
                ],
                "readonly": true
            },
            "types": {
                "description": "Типы ассоциированные с таксономией.",
                "type": "array",
                "items": {
                    "type": "string"
                },
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "rest_base": {
                "description": "базовый путь REST для таксономии.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            }
        }
    }
}

Список таксономий

Алгоритм схож с работой функции get_taxonomies().

Вид запроса

Доступ: публичный

GET /wp/v2/taxonomies

Параметры запроса

context
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе. Может быть view, embed, edit.
По умолчанию: view
type
Ограничить результаты выборки по таксономиям, связанных с определенным типом записи.

Пример запроса

$ curl http://demo.wp-api.org/wp-json/wp/v2/taxonomies

Результат запроса таксономий на только что установленный WordPress:

{
	"category": {
		"name": "Рубрики",
		"slug": "category",
		"description": "",
		"types": [
			"post"
		],
		"hierarchical": true,
		"rest_base": "categories",
		"_links": {
			"collection": [
				{
					"href": "http://wp-test.ru/wp-json/wp/v2/taxonomies"
				}
			],
			"wp:items": [
				{
					"href": "http://wp-test.ru/wp-json/wp/v2/categories"
				}
			],
			"curies": [
				{
					"name": "wp",
					"href": "https://api.w.org/{rel}",
					"templated": true
				}
			]
		}
	},
	"post_tag": {
		"name": "Метки",
		"slug": "post_tag",
		"description": "",
		"types": [
			"post"
		],
		"hierarchical": false,
		"rest_base": "tags",
		"_links": {
			"collection": [
				{
					"href": "http://wp-test.ru/wp-json/wp/v2/taxonomies"
				}
			],
			"wp:items": [
				{
					"href": "http://wp-test.ru/wp-json/wp/v2/tags"
				}
			],
			"curies": [
				{
					"name": "wp",
					"href": "https://api.w.org/{rel}",
					"templated": true
				}
			]
		}
	}
}

Получение таксономии

Алгоритм схож с работой функции get_taxonomy(), но набор возвращаемых данных ограничен схемой.

В ответ можно добавить любые данные о таксономии с помощью фильтра rest_prepare_taxonomy.

Вид запроса

Доступ: публичный

GET /wp/v2/taxonomies/{taxonomy}

Параметры запроса

context
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе. Может быть view, embed, edit.
По умолчанию: view

Пример запроса

$ curl http://demo.wp-api.org/wp-json/wp/v2/taxonomies/category
{
	"name": "Рубрики",
	"slug": "category",
	"description": "",
	"types": [
		"post"
	],
	"hierarchical": true,
	"rest_base": "categories",
	"_links": {
		"collection": [
			{
				"href": "http://example.com/wp-json/wp/v2/taxonomies"
			}
		],
		"wp:items": [
			{
				"href": "http://example.com/wp-json/wp/v2/categories"
			}
		],
		"curies": [
			{
				"name": "wp",
				"href": "https://api.w.org/{rel}",
				"templated": true
			}
		]
	}
}
campusboy 4737youtube.com/c/wpplus
Создатель YouTube канала wp-plus, на котором делюсь своим опытом. Активный пользователь wp-kama.ru. WordPress-разработчик. Разработка сайтов и лендингов. Доработка существующих проектов. Сопровождение ресурсов.
Редакторы: Kama 9600
3 комментария
    Войти