Ревізії (revisions)

Ці маршрути дозволяють отримати/видалити ревізії записів.

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

/wp/v2/posts/{parent}/revisions // отримує ревізії зазначеного в {parent} запису
/wp/v2/posts/{parent}/revisions/{ID} // отримує вказану в {ID} ревізію запису

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




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

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

ПараметрКонтекстОпис
author
число
view, edit, embedID автора об’єкта.
date
рядок
view, edit, embedДата публікації об’єкта, по часовій зоні сайту.
date_gmt
рядок
view, editЧас публікації об’єкта, за GMT.
guid
об’єкт
view, editГлобальний унікальний ідентифікатор об’єкта.
id
число
view, edit, embedУнікальний ідентифікатор об’єкта.
modified
рядок
view, editДата останньої зміни об’єкта за тимчасовою зоною сайту.
modified_gmt
рядок
view, editДата останньої зміни об’єкта в GMT.
parent
число
view, edit, embedID батька об’єкта.
slug
рядок
view, edit, embedЛітерно-цифровий ідентифікатор для об’єкта є унікальним для його типу.
title
об’єкт
view, edit, embedНазва об’єкта.
content
об’єкт
view, editВміст об’єкта.
excerpt
об’єкт
view, edit, embedУривок об’єкта.




wp/v2/posts/{parent}/revisions

Запит OPTIONS до маршруту поверне повний опис цього маршруту: ендпоінти, їх параметри, схему.

$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts/{parent}/revisions

GitHub

{
    "namespace": "wp/v2",
    "methods": [
        "GET"
    ],
    "endpoints": [
        {
            "methods": [
                "GET"
            ],
            "args": {
                "parent": {
                    "required": false,
                    "description": "ID батька об'єкта.",
                    "type": "integer"
                },
                "context": {
                    "required": false,
                    "default": "view",
                    "enum": [
                        "view",
                        "embed",
                        "edit"
                    ],
                    "description": "Рамки, в яких зроблено запит, визначають поля відповіді.",
                    "type": "string"
                }
            }
        }
    ],
    "Schema": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "title": "post-revision",
        "type": "object",
        "properties": {
            "author": {
                "description": "ID автора об'єкта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "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"
                ]
            },
            "modified": {
                "description": "Дата останньої зміни об'єкта за тимчасовою зоною сайту.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "modified_gmt": {
                "description": "Дата останньої зміни об'єкта в GMT.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "parent": {
                "description": "ID батька об'єкта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "slug": {
                "description": "Буквенно-цифровий ідентифікатор для об'єкта унікальний для його типу.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "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
                    }
                }
            },
            "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
                    }
                }
            }
        }
    }
}




Список редакцій запису

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

Вид запиту

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

GET /wp/v2/posts/{parent}/revisions

Параметри запиту

parent
(число)
ID запису, ревізії якого потрібно отримати. Вказується у маршруті.
context
(рядок)
Область, у якій виконується запит; визначає поля присутні у відповіді.

Можливо:
view, embed, edit

За замовчуванням: view

Приклад запиту

$ curl http://demo.wp-api.org/wp-json/wp/v2/posts/72/revisions
[
	{
		"author": 1,
		"date": "2018-08-03T22:11:48",
		"date_gmt": "2018-08-03T22:11:48",
		"id": 97,
		"modified": "2018-08-03T22:11:48",
		"modified_gmt": "2018-08-03T22:11:48",
		"parent": 72,
		"slug": "72-revision-v1",
		"guid": {
			"rendered": "http://example.com/72-revision-v1/"
		},
		"title": {
			"rendered": "Заголовок запису"
		},
		"content": {
			"rendered": "контент запису"
		},
		"excerpt": {
			"rendered": ""
		},
		"_links": {
			"parent": [
				{
					"href": "http://example.com/wp-json/wp/v2/posts/72"
				}
			]
		}
	},
	{ ... },
	{ ... },
]




wp/v2/posts/{parent}/revisions/{id}

Запит OPTIONS до маршруту поверне повний опис цього маршруту: ендпоінти, їх параметри, схему.

$ curl -X OPTIONS -i http://demo.wp-api.org/wp-json/wp/v2/posts/{parent}/revisions/{id}

GitHub

{
    "namespace": "wp/v2",
    "methods": [
        "GET",
        "DELETE"
    ],
    "endpoints": [
        {
            "methods": [
                "GET"
            ],
            "args": {
                "parent": {
                    "required": false,
                    "description": "ID батька об'єкта.",
                    "type": "integer"
                },
                "id": {
                    "required": false,
                    "description": "Унікальний ідентифікатор об'єкта.",
                    "type": "integer"
                },
                "context": {
                    "required": false,
                    "default": "view",
                    "enum": [
                        "view",
                        "embed",
                        "edit"
                    ],
                    "description": "Рамки, в яких зроблено запит, визначають поля відповіді.",
                    "type": "string"
                }
            }
        },
        {
            "methods": [
                "DELETE"
            ],
            "args": {
                "parent": {
                    "required": false,
                    "description": "ID батька об'єкта.",
                    "type": "integer"
                },
                "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-revision",
        "type": "object",
        "properties": {
            "author": {
                "description": "ID автора об'єкта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "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"
                ]
            },
            "modified": {
                "description": "Дата останньої зміни об'єкта за тимчасовою зоною сайту.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "modified_gmt": {
                "description": "Дата останньої зміни об'єкта в GMT.",
                "type": "string",
                "format": "date-time",
                "context": [
                    "view",
                    "edit"
                ]
            },
            "parent": {
                "description": "ID батька об'єкта.",
                "type": "integer",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "slug": {
                "description": "Буквенно-цифровий ідентифікатор для об'єкта унікальний для його типу.",
                "type": "string",
                "context": [
                    "view",
                    "edit",
                    "embed"
                ]
            },
            "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
                    }
                }
            },
            "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
                    }
                }
            }
        }
    }
}




Отримання окремої редакції запису

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

Вид запиту

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

GET /wp/v2/posts/{parent}/revisions/{id}

Параметри запиту

parent
(число)
ID запису, ревізію якого потрібно отримати. Вказується у маршруті.
id
(число)
ID ревізії. Вказується у маршруті.
context
(рядок)
Область, у якій виконується запит; визначає поля присутні у відповіді.

Можливо:
view, embed, edit

За замовчуванням: view

Приклад запиту

$ curl http://example.com/wp-json/wp/v2/posts/72/revisions/97
{
	"author": 1,
	"date": "2018-08-03T22:11:48",
	"date_gmt": "2018-08-03T22:11:48",
	"id": 97,
	"modified": "2018-08-03T22:11:48",
	"modified_gmt": "2018-08-03T22:11:48",
	"parent": 72,
	"slug": "72-revision-v1",
	"guid": {
		"rendered": "http://example.com/72-revision-v1/"
	},
	"title": {
		"rendered": "Заголовок запису"
	},
	"content": {
		"rendered": "контент запису"
	},
	"excerpt": {
		"rendered": ""
	},
	"_links": {
		"parent": [
			{
				"href": "http://example.com/wp-json/wp/v2/posts/72"
			}
		]
	}
}




Видалення редакції запису

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

Вид запиту

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

DELETE /wp/v2/posts/{parent}/revisions/{id}

Параметри запиту

parent
(число)
ID запису, ревізію якого потрібно отримати. Вказується у маршруті.
id
(число)
ID ревізії. Вказується у маршруті.
force
Завжди має бути true, тому що ревізії не підтримують кошик.

Типово: false

Приклад запиту

$ curl -X DELETE http://example.com/wp-json/wp/v2/posts/72/revisions/97

Помилка: параметр force=true :

{
	"code": "rest_trash_not_supported",
	"message": "Ревізії не можна перемістити в кошик. Встановіть 'force=true' для видалення.",
	"data": {
		"status": 501
	}
}

Вкажемо потрібний параметр:

$ curl -X DELETE http://example.com/wp-json/wp/v2/posts/72/revisions/97?force=true
{
	"deleted": true,
	"previous": {
		"author": 1,
		"date": "2018-08-03T22:11:48",
		"date_gmt": "2018-08-03T22:11:48",
		"id": 97,
		"modified": "2018-08-03T22:11:48",
		"modified_gmt": "2018-08-03T22:11:48",
		"parent": 72,
		"slug": "72-revision-v1",
		"guid": {
			"rendered": "http://example.com/72-revision-v1/"
		},
		"title": {
			"rendered": "Заголовок запису"
		},
		"content": {
			"rendered": "контент ревізії"
		},
		"excerpt": {
			"rendered": ""
		}
	}
}

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

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