Медиа (media)

Эти маршруты позволяют получить/создать/обновить/удалить вложение (медиа).

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

/wp/v2/media        // работает со всеми вложениями
/wp/v2/media/{ID}   // работает с указанной вместо {ID} вложением

/wp/v2/media/{ID}/post-process
/wp/v2/media/{ID}/edit

Класс контроллера: WP_REST_Attachments_Controller{} extends WP_REST_Posts_Controller{}.

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

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

Параметр Контекст Описание
date
Строка/null
view, edit, embed Дата публикации объекта, по временной зоне сайта.
date_gmt
Строка/null
view, edit Время публикации объекта, по GMT.
guid
Объект readonly
view, edit Глобальный уникальный идентификатор для объекта.
id
Число readonly
view, edit, embed Уникальный идентификатор для объекта.
link
Строка readonly
view, edit, embed URL объекта.
modified
Строка readonly
view, edit Дата последнего изменения объекта, по временной зоне сайта.
modified_gmt
Строка readonly
view, edit Дата последнего изменения объекта, в GMT.
slug
Строка
view, edit, embed Буквенно-цифровой идентификатор для объекта уникальный для его типа.
status
Строка
view, edit Именованный статус для объекта.
type
Строка readonly
view, edit, embed Тип записи для объекта.
permalink_template
Строка readonly
edit Шаблон постоянных ссылок для объекта.
generated_slug
Строка readonly
edit Ярлык автоматически создан из заголовка объекта.
title
Объект
view, edit, embed Название для объекта.
author
Число
view, edit, embed ID автора объекта.
comment_status
Строка
view, edit Открыты ли комментарии для объекта.
ping_status
Строка
view, edit Принимает ли объект уведомления.
meta
Объект
view, edit Мета поля.
template
Строка
view, edit Файл темы используемый для показа объекта.
alt_text
Строка
view, edit, embed Альтернативный текст для показа когда вложение не отображается.
caption
Объект
view, edit, embed Подпись вложения.
description
Объект
view, edit Описание вложения.
media_type
Строка readonly
view, edit, embed Тип вложения.
mime_type
Строка readonly
view, edit, embed MIME тип вложения.
media_details
Объект readonly
view, edit, embed Подробности о медиа файле, специфичные его типу.
post
Число
view, edit ID для ассоциированых записей для вложения.
source_url
Строка readonly
view, edit, embed URL оригинала файла вложения.
missing_image_sizes
Массив readonly
edit Список отсутствующих размеров изображений для вложения.

wp/v2/media

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

$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/media
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"
                },
                "after": {
                    "required": false,
                    "description": "Ограничить ответ записями опубликованными после заданной ISO8601 совместимой даты. ",
                    "type": "string"
                },
                "author": {
                    "required": false,
                    "default": [],
                    "description": "Ограничить выборку записями определенных авторов.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "author_exclude": {
                    "required": false,
                    "default": [],
                    "description": "Убедиться что выборка исключает записи назначенные определенным авторам.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "before": {
                    "required": false,
                    "description": "Ограничить ответ записями опубликованными до заданной ISO8601 совместимой даты.",
                    "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": "desc",
                    "enum": [
                        "asc",
                        "desc"
                    ],
                    "description": "Упорядочить сортировку атрибута по возрастанию или убыванию.",
                    "type": "string"
                },
                "orderby": {
                    "required": false,
                    "default": "date",
                    "enum": [
                        "author",
                        "date",
                        "id",
                        "include",
                        "modified",
                        "parent",
                        "relevance",
                        "slug",
                        "include_slugs",
                        "title"
                    ],
                    "description": "Сортировать коллекцию по атрибуту объекта.",
                    "type": "string"
                },
                "parent": {
                    "required": false,
                    "default": [],
                    "description": "Ограничить выборку до определенных ID родителей.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "parent_exclude": {
                    "required": false,
                    "default": [],
                    "description": "Ограничить выборку до объектов за исключением имеющих определенный ID родителя.",
                    "type": "array",
                    "items": {
                        "type": "integer"
                    }
                },
                "slug": {
                    "required": false,
                    "description": "Ограничить выборку до записей с одним или несколькими установленными конкретными ярлыками.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "status": {
                    "required": false,
                    "default": "inherit",
                    "description": "Ограничить выборку до записей с одним или несколькими установленными статусами.",
                    "type": "array",
                    "items": {
                        "enum": [
                            "inherit",
                            "private",
                            "trash"
                        ],
                        "type": "string"
                    }
                },
                "media_type": {
                    "required": false,
                    "enum": [
                        "image",
                        "video",
                        "text",
                        "application",
                        "audio"
                    ],
                    "description": "Ограничить выборку до вложений определенного типа медиа.",
                    "type": "string"
                },
                "mime_type": {
                    "required": false,
                    "description": "Ограничить выборку до вложений определенного MIME типа.",
                    "type": "string"
                }
            }
        },
        {
            "methods": [
                "POST"
            ],
            "args": {
                "date": {
                    "required": false,
                    "description": "Дата публикации объекта, по временной зоне сайта.",
                    "type": "string"
                },
                "date_gmt": {
                    "required": false,
                    "description": "Время публикации объекта, по GMT.",
                    "type": "string"
                },
                "slug": {
                    "required": false,
                    "description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
                    "type": "string"
                },
                "status": {
                    "required": false,
                    "enum": [
                        "publish",
                        "future",
                        "draft",
                        "pending",
                        "private"
                    ],
                    "description": "Именованный статус для объекта.",
                    "type": "string"
                },
                "title": {
                    "required": false,
                    "description": "Название для объекта.",
                    "type": "object"
                },
                "author": {
                    "required": false,
                    "description": "ID автора объекта.",
                    "type": "integer"
                },
                "comment_status": {
                    "required": false,
                    "enum": [
                        "open",
                        "closed"
                    ],
                    "description": "Открыты ли комментарии для объекта.",
                    "type": "string"
                },
                "ping_status": {
                    "required": false,
                    "enum": [
                        "open",
                        "closed"
                    ],
                    "description": "Принимает ли объект уведомления.",
                    "type": "string"
                },
                "meta": {
                    "required": false,
                    "description": "Мета поля.",
                    "type": "object"
                },
                "template": {
                    "required": false,
                    "description": "Файл темы используемый для показа объекта.",
                    "type": "string"
                },
                "alt_text": {
                    "required": false,
                    "description": "Альтернативный текст для показа когда вложение не отображается.",
                    "type": "string"
                },
                "caption": {
                    "required": false,
                    "description": "Подпись вложения.",
                    "type": "object"
                },
                "description": {
                    "required": false,
                    "description": "Описание вложения.",
                    "type": "object"
                },
                "post": {
                    "required": false,
                    "description": "ID для ассоциированых записей для вложения.",
                    "type": "integer"
                }
            }
        }
    ],
    "schema": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "attachment",
        "type": "object",
        "properties": {
            "date": {
                "description": "Дата публикации объекта, по временной зоне сайта.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "date_gmt": {
                "description": "Время публикации объекта, по GMT.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "guid": {
                "description": "Глобальный уникальный идентификатор для объекта.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true,
                "properties": {
                    "raw": {
                        "description": "GUID для объекта, как он существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ],
                        "readonly": true
                    },
                    "rendered": {
                        "description": "GUID для объекта, преобразованный для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit"
                        ],
                        "readonly": true
                    }
                }
            },
            "id": {
                "description": "Уникальный идентификатор для объекта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "link": {
                "description": "URL объекта.",
                "type": "string",
                "format": "uri",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "modified": {
                "description": "Дата последнего изменения объекта, по временной зоне сайта.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "modified_gmt": {
                "description": "Дата последнего изменения объекта, в GMT.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "slug": {
                "description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "status": {
                "description": "Именованный статус для объекта.",
                "type": "string",
                "enum": [
                    "publish",
                    "future",
                    "draft",
                    "pending",
                    "private"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "type": {
                "description": "Тип записи для объекта.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "title": {
                "description": "Название для объекта.",
                "type": "object",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "properties": {
                    "raw": {
                        "description": "Название объекта как оно существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML название объекта, преобразованное для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit",
                            "embed"
                        ],
                        "readonly": true
                    }
                }
            },
            "author": {
                "description": "ID автора объекта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "comment_status": {
                "description": "Открыты ли комментарии для объекта.",
                "type": "string",
                "enum": [
                    "open",
                    "closed"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "ping_status": {
                "description": "Принимает ли объект уведомления.",
                "type": "string",
                "enum": [
                    "open",
                    "closed"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "meta": {
                "description": "Мета поля.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "properties": []
            },
            "template": {
                "description": "Файл темы используемый для показа объекта.",
                "type": "string",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "alt_text": {
                "description": "Альтернативный текст для показа когда вложение не отображается.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "caption": {
                "description": "Подпись вложения.",
                "type": "object",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "properties": {
                    "raw": {
                        "description": "Подпись для вложения, как она существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML подпись для вложения, преобразованная для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit",
                            "embed"
                        ],
                        "readonly": true
                    }
                }
            },
            "description": {
                "description": "Описание вложения.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "properties": {
                    "raw": {
                        "description": "Описание для объекта как оно существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML описание для объекта преобразованное для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit"
                        ],
                        "readonly": true
                    }
                }
            },
            "media_type": {
                "description": "Тип вложения.",
                "type": "string",
                "enum": [
                    "image",
                    "file"
                ],
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "mime_type": {
                "description": "MIME тип вложения.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "media_details": {
                "description": "Подробности о медиа файле, специфичные его типу.",
                "type": "object",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "post": {
                "description": "ID для ассоциированых записей для вложения.",
                "type": "integer",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "source_url": {
                "description": "URL оригинала файла вложения.",
                "type": "string",
                "format": "uri",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            }
        },
        "links": [
            {
                "rel": "https://api.w.org/action-assign-author",
                "title": "Текущий пользователь может сменить автора для этой записи.",
                "href": "http://wp-test.ru/wp-json/wp/v2/media/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "author": {
                            "type": "integer"
                        }
                    }
                }
            }
        ]
    },
    "_links": {
        "self": "http://wp-test.ru/wp-json/wp/v2/media"
    }
}

Список всех вложений

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

Вид запроса

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

GET /wp/v2/media

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

context
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе. Может быть view, embed, edit.
По умолчанию: view
page
Текущая страница коллекции.
По умолчанию: 1
per_page
Максимальное количество вложений в результирующем наборе.
По умолчанию: 10
search
Ограничение по количеству возвращаемых записей при поиске.
after
Ограничить ответ по вложениям, опубликованных после заданной даты, соответствующей ISO8601.
before
Ограничить ответ по вложениям, опубликованных до заданной даты, соответствующей ISO8601.
exclude
Исключает из набора вложения по их ID.
include
Включает в набор вложения по их ID. В наборе будут присутствовать только те вложения, ID которых были указаны.
offset
Смещение (отступ) набора результатов на указанное число.
По умолчанию: 1
order
Сортировка вложений в выборке. Может быть asc или desc.
По умолчанию: desc
orderby
Сортировка записей в выборке по атрибутам. Может быть author, date, id, include, modified, parent, relevance, slug, title.
По умолчанию: date
parent
Ограничить выборку до определенных ID родителей.
parent_exclude
Ограничить выборку до объектов за исключением имеющих определенный ID родителя.
slug
Ограничение выборки по указанному одному ярлыку вложения или нескольким.
status
Ограничение выборки по одному статусу или нескольким.
По умолчанию: inherit
media_type
Ограничить выборку до вложений определенного типа медиа. Может быть: image, video, audio, application
mime_type
Ограничить выборку до вложений определенного MIME типа.

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

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

Вернется массив объектов, где каждый объект вложения схож с тем, что описан в пункте "Получить вложение":

[
	{
	... данные вложения <id> ...
	},
	{
	... данные вложения <id> ...
	},
	{
	... данные вложения <id> ...
	}
]

Создание вложения

Создает медиа файл. Алгоритм похож на работу функции wp_insert_attachment().

Вид запроса

Доступ: нужна авторизация

POST /wp/v2/media

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

date(строка)
Дата публикации объекта, по временной зоне сайта.
date_gmt(строка)
Время публикации объекта, по GMT.
slug(строка)
Буквенно-цифровой идентификатор для объекта уникальный для его типа.
status(строка)
Именованный статус для объекта. Возможные значения: publish, future, draft, pending, private.
title(объект)
Название для объекта.
author(число)
ID автора объекта.
comment_status(строка)
Открыты ли комментарии для объекта. Возможные значения: open, closed.
ping_status(строка)
Принимает ли объект уведомления. Возможные значения: open, closed.
meta(объект)
Мета поля.
template(строка)
Файл темы используемый для показа объекта.
alt_text(строка)
Альтернативный текст для показа когда вложение не отображается.
caption(объект)
Подпись вложения.
description(объект)
Описание вложения.
post(число)
ID для ассоциированных записей для вложения.

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

$ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/media

wp/v2/media/{id}

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

$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/media/{id}
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"
                },
                "date": {
                    "required": false,
                    "description": "Дата публикации объекта, по временной зоне сайта.",
                    "type": "string"
                },
                "date_gmt": {
                    "required": false,
                    "description": "Время публикации объекта, по GMT.",
                    "type": "string"
                },
                "slug": {
                    "required": false,
                    "description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
                    "type": "string"
                },
                "status": {
                    "required": false,
                    "enum": [
                        "publish",
                        "future",
                        "draft",
                        "pending",
                        "private"
                    ],
                    "description": "Именованный статус для объекта.",
                    "type": "string"
                },
                "title": {
                    "required": false,
                    "description": "Название для объекта.",
                    "type": "object"
                },
                "author": {
                    "required": false,
                    "description": "ID автора объекта.",
                    "type": "integer"
                },
                "comment_status": {
                    "required": false,
                    "enum": [
                        "open",
                        "closed"
                    ],
                    "description": "Открыты ли комментарии для объекта.",
                    "type": "string"
                },
                "ping_status": {
                    "required": false,
                    "enum": [
                        "open",
                        "closed"
                    ],
                    "description": "Принимает ли объект уведомления.",
                    "type": "string"
                },
                "meta": {
                    "required": false,
                    "description": "Мета поля.",
                    "type": "object"
                },
                "template": {
                    "required": false,
                    "description": "Файл темы используемый для показа объекта.",
                    "type": "string"
                },
                "alt_text": {
                    "required": false,
                    "description": "Альтернативный текст для показа когда вложение не отображается.",
                    "type": "string"
                },
                "caption": {
                    "required": false,
                    "description": "Подпись вложения.",
                    "type": "object"
                },
                "description": {
                    "required": false,
                    "description": "Описание вложения.",
                    "type": "object"
                },
                "post": {
                    "required": false,
                    "description": "ID для ассоциированых записей для вложения.",
                    "type": "integer"
                }
            }
        },
        {
            "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": "attachment",
        "type": "object",
        "properties": {
            "date": {
                "description": "Дата публикации объекта, по временной зоне сайта.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "date_gmt": {
                "description": "Время публикации объекта, по GMT.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "guid": {
                "description": "Глобальный уникальный идентификатор для объекта.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true,
                "properties": {
                    "raw": {
                        "description": "GUID для объекта, как он существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ],
                        "readonly": true
                    },
                    "rendered": {
                        "description": "GUID для объекта, преобразованный для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit"
                        ],
                        "readonly": true
                    }
                }
            },
            "id": {
                "description": "Уникальный идентификатор для объекта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "link": {
                "description": "URL объекта.",
                "type": "string",
                "format": "uri",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "modified": {
                "description": "Дата последнего изменения объекта, по временной зоне сайта.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "modified_gmt": {
                "description": "Дата последнего изменения объекта, в GMT.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ],
                "readonly": true
            },
            "slug": {
                "description": "Буквенно-цифровой идентификатор для объекта уникальный для его типа.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "status": {
                "description": "Именованный статус для объекта.",
                "type": "string",
                "enum": [
                    "publish",
                    "future",
                    "draft",
                    "pending",
                    "private"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "type": {
                "description": "Тип записи для объекта.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "title": {
                "description": "Название для объекта.",
                "type": "object",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "properties": {
                    "raw": {
                        "description": "Название объекта как оно существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML название объекта, преобразованное для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit",
                            "embed"
                        ],
                        "readonly": true
                    }
                }
            },
            "author": {
                "description": "ID автора объекта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "comment_status": {
                "description": "Открыты ли комментарии для объекта.",
                "type": "string",
                "enum": [
                    "open",
                    "closed"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "ping_status": {
                "description": "Принимает ли объект уведомления.",
                "type": "string",
                "enum": [
                    "open",
                    "closed"
                ],
                "context": [
                    "view",
                    "edit"
                ]
            },
            "meta": {
                "description": "Мета поля.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "properties": []
            },
            "template": {
                "description": "Файл темы используемый для показа объекта.",
                "type": "string",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "alt_text": {
                "description": "Альтернативный текст для показа когда вложение не отображается.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "caption": {
                "description": "Подпись вложения.",
                "type": "object",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "properties": {
                    "raw": {
                        "description": "Подпись для вложения, как она существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML подпись для вложения, преобразованная для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit",
                            "embed"
                        ],
                        "readonly": true
                    }
                }
            },
            "description": {
                "description": "Описание вложения.",
                "type": "object",
                "context": [
                    "view",
                    "edit"
                ],
                "properties": {
                    "raw": {
                        "description": "Описание для объекта как оно существует в базе данных.",
                        "type": "string",
                        "context": [
                            "edit"
                        ]
                    },
                    "rendered": {
                        "description": "HTML описание для объекта преобразованное для показа.",
                        "type": "string",
                        "context": [
                            "view",
                            "edit"
                        ],
                        "readonly": true
                    }
                }
            },
            "media_type": {
                "description": "Тип вложения.",
                "type": "string",
                "enum": [
                    "image",
                    "file"
                ],
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "mime_type": {
                "description": "MIME тип вложения.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "media_details": {
                "description": "Подробности о медиа файле, специфичные его типу.",
                "type": "object",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            },
            "post": {
                "description": "ID для ассоциированых записей для вложения.",
                "type": "integer",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "source_url": {
                "description": "URL оригинала файла вложения.",
                "type": "string",
                "format": "uri",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ],
                "readonly": true
            }
        },
        "links": [
            {
                "rel": "https://api.w.org/action-assign-author",
                "title": "Текущий пользователь может сменить автора для этой записи.",
                "href": "http://wp-test.ru/wp-json/wp/v2/media/{id}",
                "targetSchema": {
                    "type": "object",
                    "properties": {
                        "author": {
                            "type": "integer"
                        }
                    }
                }
            }
        ]
    }
}

Получение вложения

Вид запроса

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

GET /wp/v2/media/{id}

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

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

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

Запросим вложение с ID = 411:

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

Результат:

{
	"id": 411,
	"date": "2018-06-10T17:41:48",
	"date_gmt": "2018-06-10T14:41:48",
	"guid": {
		"rendered": "http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish.jpg"
	},
	"modified": "2018-06-10T17:41:48",
	"modified_gmt": "2018-06-10T14:41:48",
	"slug": "cropped-jellyfish-jpg",
	"status": "inherit",
	"type": "attachment",
	"link": "http://wp-test.ru/cropped-jellyfish-jpg/",
	"title": {
		"rendered": "cropped-Jellyfish.jpg"
	},
	"author": 1,
	"comment_status": "open",
	"ping_status": "closed",
	"template": "",
	"meta": [],
	"description": {
		"rendered": "<p class=\"attachment\"><a href='http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish.jpg'><img width=\"250\" height=\"250\" src=\"http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish.jpg\" class=\"attachment-medium size-medium\" alt=\"\" srcset=\"http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish.jpg 250w, http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish-100x100.jpg 100w, http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish-150x150.jpg 150w\" sizes=\"100vw\" /></a></p>\n<p>http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish.jpg</p>\n"
	},
	"caption": {
		"rendered": "<p>http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish.jpg</p>\n"
	},
	"alt_text": "",
	"media_type": "image",
	"mime_type": "image/jpeg",
	"media_details": {
		"width": 250,
		"height": 250,
		"file": "2018/03/cropped-Jellyfish.jpg",
		"sizes": {
			"woocommerce_gallery_thumbnail": {
				"file": "cropped-Jellyfish-100x100.jpg",
				"width": 100,
				"height": 100,
				"mime_type": "image/jpeg",
				"source_url": "http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish-100x100.jpg"
			},
			"thumbnail": {
				"file": "cropped-Jellyfish-150x150.jpg",
				"width": 150,
				"height": 150,
				"mime_type": "image/jpeg",
				"source_url": "http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish-150x150.jpg"
			},
			"twentyseventeen-thumbnail-avatar": {
				"file": "cropped-Jellyfish-100x100.jpg",
				"width": 100,
				"height": 100,
				"mime_type": "image/jpeg",
				"source_url": "http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish-100x100.jpg"
			},
			"full": {
				"file": "cropped-Jellyfish.jpg",
				"width": 250,
				"height": 250,
				"mime_type": "image/jpeg",
				"source_url": "http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish.jpg"
			}
		},
		"image_meta": {
			"aperture": "0",
			"credit": "",
			"camera": "",
			"caption": "",
			"created_timestamp": "0",
			"copyright": "",
			"focal_length": "0",
			"iso": "0",
			"shutter_speed": "0",
			"title": "",
			"orientation": "0",
			"keywords": []
		}
	},
	"post": null,
	"source_url": "http://wp-test.ru/wp-content/uploads/2018/03/cropped-Jellyfish.jpg",
	"_links": {
		"self": [
			{
				"attributes": [],
				"href": "http://wp-test.ru/wp-json/wp/v2/media/411"
			}
		],
		"collection": [
			{
				"attributes": [],
				"href": "http://wp-test.ru/wp-json/wp/v2/media"
			}
		],
		"about": [
			{
				"attributes": [],
				"href": "http://wp-test.ru/wp-json/wp/v2/types/attachment"
			}
		],
		"author": [
			{
				"attributes": {
					"embeddable": true
				},
				"href": "http://wp-test.ru/wp-json/wp/v2/users/1"
			}
		],
		"replies": [
			{
				"attributes": {
					"embeddable": true
				},
				"href": "http://wp-test.ru/wp-json/wp/v2/comments?post=411"
			}
		]
	}
}

Обновление вложения

Алгоритм похож на работу функции wp_update_post()

Вид запроса

Доступ: нужна авторизация

POST|PUT|PATCH /wp/v2/media/{id}

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

Смотрите параметры при создании вложения.

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

$ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/media/25?caption=Новая подпись

Удаление вложения

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

Вид запроса

Доступ: нужна авторизация

DELETE /wp/v2/media/{id}

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

force(true/false)
Игнорировать ли перемещение в корзину и принудительно удалять.
По умолчанию: false

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

Удалим вложение 25:

$ curl -X DELETE http://demo.wp-api.org/wp-json/wp/v2/media/25

/wp/v2/media/{ID}/post-process

Последующая обработка вложения.

Вид запроса

Доступ: нужна авторизация.

POST /wp/v2/media/{ID}/post-process

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

$action(строка) (обязательный)
Какую обработку нужно сделать. Возможные значения: create-image-subsizes.

/wp/v2/media/{ID}/edit

Редактирование.

Вид запроса

Доступ: нужна авторизация.

POST /wp/v2/media/{ID}/edit

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

$src(строка) (обязательный)
URL отредактированного файла изображения.
$rotation(число)
Величина (в градусах, от от 0 до 360) для поворота изображения по часовой стрелке.
$x(число)
В процентах от изображения, позиция X для начала обрезки. Возможные значения: 0 - 100.
$y(число)
В процентах от изображения, позиция Y для начала обрезки. Возможные значения: 0 - 100.
$width(число)
В процентах от изображения, ширина для обрезки изображения.
$height(число)
В процентах от изображения, высота для обрезки изображения.