Эти маршруты позволяют получить/создать/обновить/удалить записи или отдельную запись (пост).
Возможные маршруты (конечные точки маршрутов описаны ниже):
/wp/v2/posts // работает со всеми постами
/wp/v2/posts/{ID} // работает с указанным вместо {ID} постом
Класс контроллера: WP_REST_Posts_Controller{}
Схема ресурса
Схема показывает все поля, которые существуют для объекта запись: поля объекта, которые вернет запрос.
Параметр
Контекст
Описание
date строка
view, edit, embed
Дата публикации записи в часовом поясе сайта.
date_gmt строка/datetime
view, edit
Дата публикации записи, как GMT.
guid объект
view, edit
Глобальный уникальный идентификатор записи. Только для чтения.
id число
view, edit, embed
Уникальный идентификатор записи. Только для чтения.
link строка
view, edit, embed
Ссылка на запись. Только для чтения.
modified строка
view, edit
Дата последнего изменения записи в часовом поясе сайта. Только для чтения.
modified_gmt строка
view, edit
Дата последнего изменения записи, как GMT. Только для чтения.
slug строка
view, edit, embed
Алфавитно-цифровой идентификатор записи, уникальный для его типа. Ещё называют ярлыком.
status строка
view, edit
Статус записи. Может быть publish , future , draft , pending , private .
type строка
view, edit, embed
Тип записи. Только для чтения.
password строка
edit
Пароль для защиты доступа к контенту и цитате (отрывку).
title объект
view, edit, embed
Заголовок записи.
content объект
view, edit
Контент записи.
author число
view, edit, embed
Идентификатор (ID) автора записи
excerpt объект
view, edit, embed
Цитата (отрывок) записи.
featured_media число
view, edit, embed
Идентификатор (ID) миниатюры (изображения) записи.
comment_status строка
view, edit
Можно ли оставлять комментарии к записи или нет. Может быть open или closed .
ping_status строка
view, edit
Статус пингов/трэкбэков, может быть open или closed .
format строка
view, edit
Формат записи. Может быть: standard , aside , chat , gallery , link , image , quote , status , video , audio .
meta массив
view, edit
Значения метаполей. Массив объектов.
sticky true/false
view, edit
Является ли запись липкой или нет.
template строка
view, edit
Файл темы, который используется для отображения записи.
categories массив
view, edit
Массив с ID рубрик, к которым принадлежит запись.
tags массив
view, edit
Массив с ID меток (тегов), к которым принадлежит запись.
wp/v2/posts
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts
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"
},
"password": {
"required": false,
"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"
},
"password": {
"required": false,
"description": "Пароль для защиты содержания и отрывка.",
"type": "string"
},
"title": {
"required": false,
"description": "Название для объекта.",
"type": "object"
},
"content": {
"required": false,
"description": "Содержимое объекта.",
"type": "object"
},
"author": {
"required": false,
"description": "ID автора объекта.",
"type": "integer"
},
"excerpt": {
"required": false,
"description": "Отрывок объекта.",
"type": "object"
},
"featured_media": {
"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"
},
"format": {
"required": false,
"enum": [
"standard",
"aside",
"chat",
"gallery",
"link",
"image",
"quote",
"status",
"video",
"audio"
],
"description": "Формат для объекта.",
"type": "string"
},
"meta": {
"required": false,
"description": "Мета поля.",
"type": "object"
},
"sticky": {
"required": false,
"description": "Считать ли объект прилепленным или нет.",
"type": "boolean"
},
"template": {
"required": false,
"description": "Файл темы используемый для показа объекта.",
"type": "string"
},
"categories": {
"required": false,
"description": "Элементы назначенные объекту в таксономии category.",
"type": "array",
"items": {
"type": "integer"
}
},
"tags": {
"required": false,
"description": "Элементы назначенные объекту в таксономии post_tag.",
"type": "array",
"items": {
"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": "post",
"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
},
"password": {
"description": "Пароль для защиты содержания и отрывка.",
"type": "string",
"context": [
"edit"
]
},
"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
}
}
},
"content": {
"description": "Содержимое объекта.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": {
"raw": {
"description": "Содержимое объекта как оно существует в базе данных.",
"type": "string",
"context": [
"edit"
]
},
"rendered": {
"description": "HTML содержимое объекта преобразованное для показа.",
"type": "string",
"context": [
"view",
"edit"
],
"readonly": true
},
"protected": {
"description": "Защищено ли содержимое паролем.",
"type": "boolean",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"author": {
"description": "ID автора объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"excerpt": {
"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
},
"protected": {
"description": "Защищать ли паролем отрывок.",
"type": "boolean",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"featured_media": {
"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"
]
},
"format": {
"description": "Формат для объекта.",
"type": "string",
"enum": [
"standard",
"aside",
"chat",
"gallery",
"link",
"image",
"quote",
"status",
"video",
"audio"
],
"context": [
"view",
"edit"
]
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
},
"sticky": {
"description": "Считать ли объект прилепленным или нет.",
"type": "boolean",
"context": [
"view",
"edit"
]
},
"template": {
"description": "Файл темы используемый для показа объекта.",
"type": "string",
"context": [
"view",
"edit"
]
},
"categories": {
"description": "Элементы назначенные объекту в таксономии category.",
"type": "array",
"items": {
"type": "integer"
},
"context": [
"view",
"edit"
]
},
"tags": {
"description": "Элементы назначенные объекту в таксономии post_tag.",
"type": "array",
"items": {
"type": "integer"
},
"context": [
"view",
"edit"
]
}
},
"links": [
{
"rel": "https://api.w.org/action-publish",
"title": "Текущий пользователь может опубликовать эту запись.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"publish",
"future"
]
}
}
}
},
{
"rel": "https://api.w.org/action-sticky",
"title": "Текущий пользователь может сделать эту запись прикрепленной.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"sticky": {
"type": "boolean"
}
}
}
},
{
"rel": "https://api.w.org/action-assign-author",
"title": "Текущий пользователь может сменить автора для этой записи.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"author": {
"type": "integer"
}
}
}
},
{
"rel": "https://api.w.org/action-assign-categories",
"title": "Текущий пользователь может назначать элементы в таксономии category.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
},
{
"rel": "https://api.w.org/action-create-categories",
"title": "Текущий пользователь может создавать элементы в таксономии category.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
},
{
"rel": "https://api.w.org/action-assign-tags",
"title": "Текущий пользователь может назначать элементы в таксономии post_tag.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
},
{
"rel": "https://api.w.org/action-create-tags",
"title": "Текущий пользователь может создавать элементы в таксономии post_tag.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
}
]
}
}
Список записей
За один запрос можно получить коллекцию из записей по тем или иным условиям. Алгоритм схож с работой класса WP_Query и функций на его основе.
Вид запроса
Доступ: публичный
GET /wp/v2/posts
Параметры запроса
context
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе. Может быть view , embed , edit .
По умолчанию: view
page
Страница коллекции (пагинации).
По умолчанию: 1
per_page
Максимальное количество записей в результирующем наборе.
По умолчанию: 10 (от 1 до 100 включительно)
search
Ограничить ответ по записям строкой (поисковой фразой).
after
Ограничить ответ по записям, опубликованных после заданной даты, соответствующей ISO8601.
before
Ограничить ответ по записям, опубликованных до заданной даты, соответствующей ISO8601.
author
Указывает записи каких авторов надо вернуть.
author_exclude
Указывает записи каких авторов не надо возвращать.
exclude
Исключает из набора записи по их ID.
include
Включает в набор записи по их ID. В наборе будут присутствовать только те записи, ID которых были указаны.
offset
Смещение (отступ) набора результатов на указанное число.
По умолчанию: 1
order
Сортировка записей в выборке. Может быть asc или desc .
По умолчанию: desc
orderby
Сортировка записей в выборке по атрибутам. Может быть author , date , id , include , modified , parent , relevance , slug , title .
По умолчанию: date
slug
Ограничение выборки по указанному одному ярлыку записи или нескольким.
status
Ограничение выборки по одному статусу или нескольким.
По умолчанию: publish
categories
Ограничение выборки по указанной категории (рубрике) или рубрикам.
categories_exclude:
Исключает из выборки записи, принадлежащие указанной категории (рубрике) или рубрикам.
tags
Ограничение выборки по указанной метке (тегу) или меткам.
tags_exclude:
Исключает из выборки записи, принадлежащие указанной метке (тегу) или меткам.
sticky
Выборка будет состоять только из "липких" записей.
Пример запроса
Ссылки рабочие, можно открыть в браузере и посмотреть результат.
1) Запрос на получение массива всех записей:
https://demo.wp-api.org/wp-json/wp/v2/posts/
Вернется массив объектов, где каждый объект записи схож с тем, что описан в пункте "Получить запись":
[
{
... данные записи <id> ...
},
{
... данные записи <id> ...
},
{
... данные записи <id> ...
}
]
2) Вернет записи, у которых автор с ID=1
https://demo.wp-api.org/wp-json/wp/v2/posts/?author=1
3) Вернет записи, у которых автор с ID=1 и которые принадлежат рубрике с ID=11
https://demo.wp-api.org/wp-json/wp/v2/posts/?author=1&categories=11
Создание записи
Алгоритм схож с работой функции wp_insert_post() .
Вид запроса
Доступ: нужна авторизация
POST /wp/v2/posts
Параметры запроса
date(строка)
Дата публикации записи в часовом поясе сайта.
date_gmt(строка/datetime)
Дата публикации записи, как GMT.
slug(строка)
Алфавитно-цифровой идентификатор записи, уникальный для его типа. Ещё называют ярлыком.
status(строка)
Статус записи. Может быть publish , future , draft , pending , private .
password(строка)
Пароль для защиты доступа к контенту и цитате (отрывку).
title(объект)
Заголовок записи.
content(объект)
Контент записи.
author(число)
Идентификатор (ID) автора записи.
excerpt(объект)
Цитата (отрывок) записи.
featured_media(число)
Идентификатор (ID) миниатюры (изображения) записи.
comment_status(строка)
Можно ли оставлять комментарии к записи или нет. Может быть open или closed .
ping_status(строка)
Статус пингов/трэкбэков, может быть open или closed .
format(строка)
Статус записи. Может быть: standard , aside , chat , gallery , link , image , quote , status , video , audio .
meta(массив)
Значения метаполей. Массив объектов.
sticky(логический)
Является ли запись липкой или нет.
template(строка)
Файл темы, который используется для отображения записи.
categories(массив)
Массив с ID рубрик (категорий), к которым принадлежит запись.
tags(массив)
Массив с ID меток (тегов), к которым принадлежит запись.
Пример запроса
POST http://example.com/wp-json/wp/v2/posts/?title=Заголовок&slug=my-post&status=publish
wp/v2/posts/{id}
Запрос OPTIONS к маршруту вернет полное описание этого маршрута: эндпоинты их параметры, схему.
$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts/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"
},
"password": {
"required": false,
"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"
},
"password": {
"required": false,
"description": "Пароль для защиты содержания и отрывка.",
"type": "string"
},
"title": {
"required": false,
"description": "Название для объекта.",
"type": "object"
},
"content": {
"required": false,
"description": "Содержимое объекта.",
"type": "object"
},
"author": {
"required": false,
"description": "ID автора объекта.",
"type": "integer"
},
"excerpt": {
"required": false,
"description": "Отрывок объекта.",
"type": "object"
},
"featured_media": {
"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"
},
"format": {
"required": false,
"enum": [
"standard",
"aside",
"chat",
"gallery",
"link",
"image",
"quote",
"status",
"video",
"audio"
],
"description": "Формат для объекта.",
"type": "string"
},
"meta": {
"required": false,
"description": "Мета поля.",
"type": "object"
},
"sticky": {
"required": false,
"description": "Считать ли объект прилепленным или нет.",
"type": "boolean"
},
"template": {
"required": false,
"description": "Файл темы используемый для показа объекта.",
"type": "string"
},
"categories": {
"required": false,
"description": "Элементы назначенные объекту в таксономии category.",
"type": "array",
"items": {
"type": "integer"
}
},
"tags": {
"required": false,
"description": "Элементы назначенные объекту в таксономии post_tag.",
"type": "array",
"items": {
"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": "post",
"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
},
"password": {
"description": "Пароль для защиты содержания и отрывка.",
"type": "string",
"context": [
"edit"
]
},
"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
}
}
},
"content": {
"description": "Содержимое объекта.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": {
"raw": {
"description": "Содержимое объекта как оно существует в базе данных.",
"type": "string",
"context": [
"edit"
]
},
"rendered": {
"description": "HTML содержимое объекта преобразованное для показа.",
"type": "string",
"context": [
"view",
"edit"
],
"readonly": true
},
"protected": {
"description": "Защищено ли содержимое паролем.",
"type": "boolean",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"author": {
"description": "ID автора объекта.",
"type": "integer",
"context": [
"view",
"edit",
"embed"
]
},
"excerpt": {
"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
},
"protected": {
"description": "Защищать ли паролем отрывок.",
"type": "boolean",
"context": [
"view",
"edit",
"embed"
],
"readonly": true
}
}
},
"featured_media": {
"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"
]
},
"format": {
"description": "Формат для объекта.",
"type": "string",
"enum": [
"standard",
"aside",
"chat",
"gallery",
"link",
"image",
"quote",
"status",
"video",
"audio"
],
"context": [
"view",
"edit"
]
},
"meta": {
"description": "Мета поля.",
"type": "object",
"context": [
"view",
"edit"
],
"properties": []
},
"sticky": {
"description": "Считать ли объект прилепленным или нет.",
"type": "boolean",
"context": [
"view",
"edit"
]
},
"template": {
"description": "Файл темы используемый для показа объекта.",
"type": "string",
"context": [
"view",
"edit"
]
},
"categories": {
"description": "Элементы назначенные объекту в таксономии category.",
"type": "array",
"items": {
"type": "integer"
},
"context": [
"view",
"edit"
]
},
"tags": {
"description": "Элементы назначенные объекту в таксономии post_tag.",
"type": "array",
"items": {
"type": "integer"
},
"context": [
"view",
"edit"
]
}
},
"links": [
{
"rel": "https://api.w.org/action-publish",
"title": "Текущий пользователь может опубликовать эту запись.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"publish",
"future"
]
}
}
}
},
{
"rel": "https://api.w.org/action-sticky",
"title": "Текущий пользователь может сделать эту запись прикрепленной.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"sticky": {
"type": "boolean"
}
}
}
},
{
"rel": "https://api.w.org/action-assign-author",
"title": "Текущий пользователь может сменить автора для этой записи.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"author": {
"type": "integer"
}
}
}
},
{
"rel": "https://api.w.org/action-assign-categories",
"title": "Текущий пользователь может назначать элементы в таксономии category.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
},
{
"rel": "https://api.w.org/action-create-categories",
"title": "Текущий пользователь может создавать элементы в таксономии category.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
},
{
"rel": "https://api.w.org/action-assign-tags",
"title": "Текущий пользователь может назначать элементы в таксономии post_tag.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
},
{
"rel": "https://api.w.org/action-create-tags",
"title": "Текущий пользователь может создавать элементы в таксономии post_tag.",
"href": "http://wptest.ru/wp-json/wp/v2/posts/{id}",
"targetSchema": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
}
]
}
}
Получение записи
Алгоритм схож с работой функции get_post() .
Вид запроса
Доступ: публичный
GET /wp/v2/posts/{id}
Параметры запроса
id (обязательный)
Уникальный идентификатор записи
context
Область, в которой выполняется запрос; определяет поля, присутствующие в ответе. Может быть view , embed , edit .
По умолчанию: view
password
Пароль для получения доступа к защищенной паролем записи.
Пример запроса
$ curl http://demo.wp-api.org/wp-json/wp/v2/posts/{id}
Пример запроса объект записи с ID=1:
https://demo.wp-api.org/wp-json/wp/v2/posts/1
Ответ:
{
"id":1,
"date":"2017-05-23T06:25:50",
"date_gmt":"2017-05-23T06:25:50",
"guid":{
"rendered":"http://demo.wp-api.org/?p=1"
},
"modified":"2017-05-23T06:25:50",
"modified_gmt":"2017-05-23T06:25:50",
"slug":"hello-world",
"status":"publish",
"type":"post",
"link":"https://demo.wp-api.org/2017/05/23/hello-world/",
"title":{
"rendered":"Hello world!"
},
"content":{
"rendered":"<p>Welcome to <a href=\"http://wp-api.org/\">WP API Demo Sites</a>. This is your first post. Edit or delete it, then start blogging!</p>\n",
"protected":false
},
"excerpt":{
"rendered":"<p>Welcome to WP API Demo Sites. This is your first post. Edit or delete it, then start blogging!</p>\n",
"protected":false
},
"author":1,
"featured_media":0,
"comment_status":"open",
"ping_status":"open",
"sticky":false,
"template":"",
"format":"standard",
"meta":[
],
"categories":[
1
],
"tags":[
],
"_links":{
"self":[
{
"href":"https://demo.wp-api.org/wp-json/wp/v2/posts/1"
}
],
"collection":[
{
"href":"https://demo.wp-api.org/wp-json/wp/v2/posts"
}
],
"about":[
{
"href":"https://demo.wp-api.org/wp-json/wp/v2/types/post"
}
],
"author":[
{
"embeddable":true,
"href":"https://demo.wp-api.org/wp-json/wp/v2/users/1"
}
],
"replies":[
{
"embeddable":true,
"href":"https://demo.wp-api.org/wp-json/wp/v2/comments?post=1"
}
],
"version-history":[
{
"href":"https://demo.wp-api.org/wp-json/wp/v2/posts/1/revisions"
}
],
"wp:attachment":[
{
"href":"https://demo.wp-api.org/wp-json/wp/v2/media?parent=1"
}
],
"wp:term":[
{
"taxonomy":"category",
"embeddable":true,
"href":"https://demo.wp-api.org/wp-json/wp/v2/categories?post=1"
},
{
"taxonomy":"post_tag",
"embeddable":true,
"href":"https://demo.wp-api.org/wp-json/wp/v2/tags?post=1"
}
],
"curies":[
{
"name":"wp",
"href":"https://api.w.org/{rel}",
"templated":true
}
]
}
}
Обновление записи
Алгоритм схож с работой функции wp_update_post() .
Вид запроса
Доступ: нужна авторизация
POST|PUT|PATCH /wp/v2/posts/{id}
Параметры запроса
id(обязательный)
Уникальный идентификатор записи, которую надо обновить.
Остальные параметры
Полностью совпадают с параметрами пункта "Создание записи" .
Пример запроса
$ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/posts/123 -d '{"title":"My New Title"}'
Удаление записи
Алгоритм схож с работой функции wp_delete_post() .
Вид запроса
Доступ: нужна авторизация
DELETE /wp/v2/posts/{id}
Параметры запроса
id(обязательный)
Уникальный идентификатор записи, которую надо удалить.
force(логический)
Удалять мимо корзины, если она включена. true
- принудительное удаление навсегда.
По умолчанию: false
Пример запроса
Удалим пост 25:
$ curl -X DELETE http://demo.wp-api.org/wp-json/wp/v2/posts/25
Удалим мектаполе поста 25:
Для этого в значении метаполя нужно поставить пустую строку и сделать пост запрос:
$ curl -X POST http://demo.wp-api.org/wp-json/wp/v2/posts/25 -d '{"my_metakey":""}'