Удалить пакет
const url = 'https://example.com/wp-json/wp2lms-pro/embed-packages/v1/packages/42?blog_id=1';const options = {method: 'DELETE', headers: {'X-WP-Nonce': '<X-WP-Nonce>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url 'https://example.com/wp-json/wp2lms-pro/embed-packages/v1/packages/42?blog_id=1' \ --header 'X-WP-Nonce: <X-WP-Nonce>'Удаляет запись CPT навсегда (wp_delete_post($id, true), не в корзину). Хук before_delete_post снимает файлы в uploads/wp2lms-embed-packages/{id}/. Это не снятие привязки страницы: post meta _wp2_embed_replace_* на страницах WordPress остаются и могут ссылаться на уже несуществующий пакет — снимайте отдельно DELETE …/pages/{page_id}/package.
Не пакет — 404 embed_packages_not_found. wp_delete_post вернул false — 500 embed_packages_delete_failed.
Нужно manage_network (multisite) или edit_pages. Cookie + X-WP-Nonce или Application Password.
Authorizations
Заголовок раздела «Authorizations»Parameters
Заголовок раздела «Parameters»Path Parameters
Заголовок раздела «Path Parameters»ID записи CPT wp2lms_embed_pkg (поле id в payload). Не blog_id и не page_id. Несуществующий id или другой post_type — 404 embed_packages_not_found.
Example
42Query Parameters
Заголовок раздела «Query Parameters»ID сайта сети (switch_to_blog). Необязательно: по умолчанию текущий блог запроса. Не ID пакета и не page_id. Минимум 1; на одиночном сайте должен совпадать с текущим — иначе 400 embed_packages_invalid_blog. В сети неизвестный сайт или сайт другой сети — 404 embed_packages_unknown_blog.
Example
1Responses
Заголовок раздела «Responses»Пакет удалён. Тело — { deleted: true, id }.
object
Всегда true при HTTP 200 — запись CPT удалена навсегда.
ID удалённого пакета (тот же {id} из path).
Example
{ "deleted": true, "id": 42}Embed_packages_invalid_blog — blog_id < 1 или на одиночном сайте не совпадает с текущим.
object
Код WP_Error (get_error_code()), например embed_packages_not_found.
Текст WP_Error (get_error_message()).
Data WP_Error. Обычно { "status": 404 }. Ошибки ingest/materialize без status WordPress REST отдаёт как 500.
object
Example
{ "code": "embed_packages_not_found", "message": "Package not found.", "data": { "status": 404 }}Не аутентифицирован. WordPress REST: rest_forbidden (status 401), если нет cookie-сессии. Cookie + X-WP-Nonce или Application Password.
object
Код WP_Error (get_error_code()), например embed_packages_not_found.
Текст WP_Error (get_error_message()).
Data WP_Error. Обычно { "status": 404 }. Ошибки ingest/materialize без status WordPress REST отдаёт как 500.
object
Example
{ "code": "embed_packages_not_found", "message": "Package not found.", "data": { "status": 404 }}Нет права manage_network (multisite) или edit_pages (одиночный сайт), либо невалидный REST nonce (rest_cookie_invalid_nonce).
object
Код WP_Error (get_error_code()), например embed_packages_not_found.
Текст WP_Error (get_error_message()).
Data WP_Error. Обычно { "status": 404 }. Ошибки ingest/materialize без status WordPress REST отдаёт как 500.
object
Example
{ "code": "embed_packages_not_found", "message": "Package not found.", "data": { "status": 404 }}Embed_packages_not_found — нет пакета с этим id; embed_packages_unknown_blog — неизвестный blog_id в сети.
object
Код WP_Error (get_error_code()), например embed_packages_not_found.
Текст WP_Error (get_error_message()).
Data WP_Error. Обычно { "status": 404 }. Ошибки ingest/materialize без status WordPress REST отдаёт как 500.
object
Example
{ "code": "embed_packages_not_found", "message": "Package not found.", "data": { "status": 404 }}Embed_packages_delete_failed — wp_delete_post вернул false.
object
Код WP_Error (get_error_code()), например embed_packages_not_found.
Текст WP_Error (get_error_message()).
Data WP_Error. Обычно { "status": 404 }. Ошибки ingest/materialize без status WordPress REST отдаёт как 500.
object
Example
{ "code": "embed_packages_not_found", "message": "Package not found.", "data": { "status": 404 }}