Структура курса (секции и страницы)
const url = 'https://example.com/wp-json/wp2/course-manager/v1/courses/1/structure?post_type=page';const options = {method: 'GET', 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 GET \ --url 'https://example.com/wp-json/wp2/course-manager/v1/courses/1/structure?post_type=page' \ --header 'X-WP-Nonce: <X-WP-Nonce>'Read-only snapshot: sections in term_order, pages inside each section by menu_order ASC then title
(same traversal as Static Builder CourseBuildStructure). pageIds is the flat order.
Query lang is reserved for future WPML filtering (accepted, ignored in v1).
Requires WP2LMS (CourseSectionRelation). Mutations stay on /sections, /assign, /reorder.
Authorizations
Заголовок раздела «Authorizations»Parameters
Заголовок раздела «Parameters»Path Parameters
Заголовок раздела «Path Parameters»Course post ID (wp2lms_courses).
Query Parameters
Заголовок раздела «Query Parameters»Bound CPT to list under sections (one type per request).
Reserved for WPML language code (ignored in v1).
Responses
Заголовок раздела «Responses»Course tree in Static Builder order. Empty course returns empty sections/pageIds.
object
object
object
Flat page order (section term_order, then menu_order).
Example
{ "courseId": 12, "title": "Вводный курс по комплаенсу", "postType": "page", "sections": [ { "id": 18, "name": "Введение", "slug": "compliance-vvedenie", "order": 0, "pages": [ { "id": 101, "title": "Что такое комплаенс", "slug": "chto-takoe-komplaens", "status": "publish", "menuOrder": 0 }, { "id": 102, "title": "Цели курса", "slug": "celi-kursa", "status": "draft", "menuOrder": 1 } ] }, { "id": 19, "name": "Практика", "slug": "compliance-praktika", "order": 1, "pages": [ { "id": 110, "title": "Кейс", "slug": "kejs", "status": "publish", "menuOrder": 0 } ] } ], "pageIds": [ 101, 102, 110 ]}Wp2cm_bad_post_type
object
Машинный код ошибки или события.
Текст сообщения (лог, PIN, сброс пароля).
Дополнительные данные WP_Error или лицензии.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Not authenticated.
object
Машинный код ошибки или события.
Текст сообщения (лог, PIN, сброс пароля).
Дополнительные данные WP_Error или лицензии.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Insufficient capability or invalid REST nonce.
object
Машинный код ошибки или события.
Текст сообщения (лог, PIN, сброс пароля).
Дополнительные данные WP_Error или лицензии.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Wp2cm_invalid_course_post
object
Машинный код ошибки или события.
Текст сообщения (лог, PIN, сброс пароля).
Дополнительные данные WP_Error или лицензии.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Wp2cm_course_link_unavailable
object
Машинный код ошибки или события.
Текст сообщения (лог, PIN, сброс пароля).
Дополнительные данные WP_Error или лицензии.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}